Uppdaterad 15 augusti 2019 för 0.9.6.
Förra året träffades jag med ett av mina utvecklarteam här – de kallar sig SQL-injektorerna – för att prata om möjligheten att replikera SentryOne Plan Explorer-funktionalitet inuti Azure Data Studio. Efter lite diskussion förde vi konceptet till ledarteamet och satte igång en plan.
Det fanns några komplikationer, som ni kan föreställa er; Plan Explorer är skriven med hjälp av skrivbordsteknik, och ADS är en helt ny värld. Vi var tvungna att konvertera all vår .NET Framework-kod till .NET Core, ändra vår UI-kod till Node och React och omarbeta hela implementeringen av plandiagrammet. Jag sparar all bakgrundshistoria till ett annat inlägg, eftersom många roliga saker hände längs vägen, och vi fick mycket hjälp från några fantastiska människor på Microsoft – Karl Burtram, Alan Yu, Alan Ren, Charles Gagnon och Vicky Harp, för att nämna några. För närvarande vill jag fokusera på hur du får tag i förhandsgranskningen, vad som finns i den hittills (inklusive några skärmdumpar) och kända problem.
Hur får du det
För att få åtkomst till Plan Explorer-tillägget måste du skapa ett gratis SentryOne Cloud-konto och godkänna vårt EULA. Kontot ger dig tillgång till vårt supportforum och vi kan hålla dig uppdaterad om kommande releaser och nya funktioner. När du har skapat ditt konto, gå till extensions.sentryone.com, där du bör se följande länk för att ladda ner tillägget:
Detta ger dig en VSIX-fil som du måste "sidoladda" till Azure Data Studio (Microsoft stöder inte fullständig värd för tredjepartstillägg i ADS Marketplace, som de gör med VS Code).
Se först till att du uppfyller våra krav:
- Azure Data Studio 1.9.0 eller senare (julimeddelande)
- .NET Core Runtime 2.1 eller senare (Windows | macOS | Linux)
- Ansluter till SQL Server 2012 eller bättre, eller Azure SQL Database
Och rekommenderad systemkonfiguration:
- Två eller fler kärnor
- 8 GB eller mer minne
- Operativsystem:
- Windows (8.1 / Server 2012 R2 eller bättre)
- macOS (10.13 eller bättre)
- RedHat (7.6 eller bättre)
- SuSE (12.0 eller bättre)
- Ubuntu (18.04 eller bättre)
För att sedan installera tillägget:
- Öppna Azure Data Studio.
- Välj Arkiv> Installera tillägg från VSIX-paketet . Du kan inte dubbelklicka på VSIX-filen.
- Leta upp SentryOne Plan Explorer VSIX-filen som du laddade ner och klicka på Installera .
- Om du inte har avvisat det tidigare måste du säga ja till en uppmaning om att lita på tredjepartstillägg:
Om du inte har en tillräckligt ny version av Azure Data Studio (eller om du använder en Insiders-build med ändringar som vi inte har testat ännu), kanske vissa funktioner inte fungerar som förväntat.
Om du inte har en tillräckligt ny version av .NET Core Runtime (eller om den inte körs), får du det här felmeddelandet efter att installationen har lyckats:
Vad finns i den
Precis som skrivbordsapplikationen är Plan Explorer-tillägget utformat för att ge dig rikare grafiska exekveringsplaner för dina realtidsfrågor mot SQL Server. Den är baserad på en blygsam delmängd av funktionalitet; vi har börjat med bara plandiagrammet, ett rutnät för grundläggande uttalanden, verktygstips och tillgång till XML (så att du kan öppna planen i andra verktyg). Vi kommer att lägga till fler funktioner till tillägget med tiden för att försöka få dig så nära full paritet med skrivbordsklienten som möjligt.
För att aktivera eller inaktivera tillägget
- Klicka på SentryOne Plan Explorer element i statusfältet:
- Eller tryck på Skift+Ctrl /⌘+P och hitta Toggle SentryOne Plan Explorer :
- Eller tryck på Skift+Ctrl /⌘+F5 .
För att samla in en genomförandeplan
- Se till att tillägget är aktiverat.
- I ett nytt frågefönster, upprätta en anslutning till en server och skriv eller klistra in en fråga.
- För en Uppskattad plan, använd Explain knappen i verktygsfältet.
- För en Faktisk plan, använd Ctrl /⌘+M .
- Ett nytt dokument på översta nivån öppnas (med titeln Plan Explorer ) inklusive ett rutnät med satser, en rad för varje plangenererande sats:
- Klicka på Visa XML för att se den underliggande planens XML .
- Klicka på Visa plan för att se plandiagrammet för ett uttalande .
- För att se det sammanfattade verktygstipset för en operatör, håll muspekaren över operatören. För den utökade versionen, som innehåller mer information och "fastnar" till höger sida av panelen, klicka på operatören:
- För att ändra någon av diagramegenskaperna, till exempel zoomnivå, växla mellan faktiska och beräknade planer, visa kostnader med endast I/O eller CPU, eller ändra linjebredder som ska återges med antal rader eller datastorlek, höger- klicka var som helst på diagrammet:
Statusrutnät
Planeringsdiagram med standardljustema
Planera diagram med Solarized Dark-tema
Kondenserade och utökade verktygstips
Kontextmeny för diagramalternativ
- När en saknad indexrekommendation finns, kommer en varning att visas i verktygstipset för rotnodoperatorn, och ett högerklicksmenyalternativ kommer att vara tillgängligt var som helst i diagrammet (vilket öppnar det/de saknade indexskriptet/skripten) i ett nytt, frånkopplat frågefönster på toppnivå):
Varning för indexverktygstips och snabbmenyalternativ saknas
Indexskript saknas
Nyhet i 0.9.6 – 15 augusti 2019
- Tillagt snabbmenyalternativ för att växla linjebredd mellan antal rader och datastorlek
- Lägg till snabbmenyalternativ för att visa saknade indexrekommendationer i ett nytt frågefönster
- Ändrade standard API-port från 5000 till 5042 för att minska risken för konflikt
- Har lagt till en inställning för att anpassa det lokala portnumret i händelse av konflikt:
- Flyttade förlängningen på/av till statusfältet (tack för förslaget, Drew Skwiers-Koballa!)
- Ytterligare diagnostik i utdatapanelen för att underlätta felsökning:
- Uppdaterade flera operatörsikoner (gamla till vänster, nya till höger):Bekräfta ClusteredIndexDelete ClusteredIndexMerge ClusteredIndexUpdate ColumnstoreIndexDelete Radera DeletedScan FetchQuery ForeignKeyRefCheck IndexDelete IndexUpdate InsertedScan Nyckeluppslag PopulationQuery RemoteDelete RemoteQuery RIDLookup Sekvens Växla WindowAggregate
Observera att ändringarna av nyckel- och RID-sökningsikonen redan har skett i Plan Explorer 19.0.1 (förklaring här); resten av dessa ändringar kommer snart att visas i Plan Explorer.
Kända problem
- När tillägget Plan Explorer är aktiverat kommer du också att uppleva den inbyggda
Explain
funktionalitet som tillhandahålls av Azure Data Studio (Dave Bland förklarar den funktionen här). - För faktiska planer är de enda körtidsmåtten som finns tillgängliga i rutnät varaktighet och CPU (med tanke på en tillräckligt modern version av SQL Server). Övrig data kommer att visas i framtida utgåvor, med början med Läsningar och kostnadsprocent.
- Azure Data Studio trunkerar för närvarande planens XML-utdata till 2 MB (se ärende #6299). Så för större planer och/eller större partier kanske vi inte kan visa alla planer. Det är mer sannolikt att detta händer när du använder Explain för att generera uppskattade planer (så säg bara nej till uppskattade planer
). - Vi har inte tillgång till Arkiv-menyn, så vi kan inte öppna eller spara planer, och vi kan bara öppna ett enda dokumentfönster som heter Plan Explorer – vilket innebär att du åtminstone för närvarande bara kan visa ett plandiagram åt gången.
Saknade index,radbreddsalternativ, och underträdskollapsfunktioner är inte tillgängliga i förhandsgranskningen. Det finns heller inga layoutalternativ, men du kan zooma med mushjulet eller styrplattan, och du kan panorera med tvåfingrars styrplatta.- När Azure Data Studio öppnas med dokument som återställts från en tidigare session kanske aktivering av Plan Explorer-tillägget inte gäller för dessa fönster, på grund av ett problem med att räkna upp dokument i det tillståndet. Tills Microsoft släpper en korrigering bör det göra susen om du växlar Plan Explorer av och på igen.
- Temastöd är experimentellt vid denna tidpunkt:
- Alla bakgrundsfärger återges inte vackert, och alla länkar är blå oavsett vad.
- Alternativa ikoner designade för mörka teman är under arbete.
- Om du ändrar färgtema efter att ha renderat en plan kan vi för närvarande inte fånga händelsen. Interagera med diagrammet (t.ex. högerklicka) för att tvinga det att "komma ikapp."
Få mer information; ge feedback
- Produktsida
- Officiell produktdokumentation
- SentryOne Plan Explorer / Query Tuning-forum
- Releasemeddelande för juli från Azure Data Studio-teamet
- Jag svarar alltid gärna på frågor eller tar emot feedback på [email protected]