Aktualizováno 15. srpna 2019 na 0.9.6.
Minulý rok jsem se zde sešel s jedním z mých vývojářských týmů – říkají si SQL Injectors –, abychom promluvili o možnosti replikace funkcí SentryOne Plan Explorer v rámci Azure Data Studio. Po nějaké diskusi jsme tento koncept přinesli vedoucímu týmu a dali jsme do pohybu plán.
Vyskytly se určité komplikace, jak si dokážete představit; Plan Explorer je napsán pomocí desktopových technologií a ADS je zcela nový svět. Museli jsme převést veškerý náš kód .NET Framework na .NET Core, změnit kód uživatelského rozhraní na Node a React a přepracovat celou implementaci plánu plánu. Nechám si celý příběh pro další příspěvek, protože se cestou stalo mnoho zábavných věcí a hodně nám pomohli skvělí lidé z Microsoftu – Karl Burtram, Alan Yu, Alan Ren, Charles Gagnon a Vicky Harp, abychom jmenovali alespoň některé. Prozatím se chci zaměřit na to, jak se vám náhled dostává do rukou, co v něm zatím je (včetně několika snímků obrazovky) a známé problémy.
Jak to získáte
Abyste měli přístup k rozšíření Plan Explorer, musíte si vytvořit bezplatný účet SentryOne Cloud a souhlasit s naší smlouvou EULA. Účet vám poskytuje přístup k našemu fóru podpory a my vás můžeme informovat o nadcházejících vydáních a nových funkcích. Po vytvoření účtu přejděte na adresu extensions.sentryone.com, kde byste měli vidět následující odkaz ke stažení rozšíření:
Získáte tak soubor VSIX, který budete muset „načíst z boku“ do Azure Data Studio (Microsoft nepodporuje úplný hosting pro rozšíření třetích stran na ADS Marketplace, jako to dělají s VS Code).
Nejprve se ujistěte, že splňujete naše požadavky:
- Azure Data Studio 1.9.0 nebo novější (příspěvek s oznámením z července)
- .NET Core Runtime 2.1 nebo novější (Windows | macOS | Linux)
- Připojení k SQL Server 2012 nebo lepšímu nebo Azure SQL Database
A doporučená konfigurace systému:
- Dvě nebo více jader
- 8 GB nebo více paměti
- Operační systémy:
- Windows (8.1 / Server 2012 R2 nebo lepší)
- macOS (10.13 nebo lepší)
- RedHat (7.6 nebo lepší)
- SuSE (12.0 nebo lepší)
- Ubuntu (18.04 nebo lepší)
Poté pro instalaci rozšíření:
- Otevřete Azure Data Studio.
- Vyberte Soubor> Nainstalujte rozšíření z balíčku VSIX . Na soubor VSIX nelze dvakrát kliknout.
- Vyhledejte stažený soubor SentryOne Plan Explorer VSIX a klikněte na Instalovat .
- Pokud jste to dříve neodmítli, budete muset na výzvu o důvěryhodnosti rozšíření třetích stran odpovědět ano:
Pokud nemáte dostatečně novou verzi Azure Data Studio (nebo používáte sestavení Insiders se změnami, které jsme ještě netestovali), některé funkce nemusí fungovat podle očekávání.
Pokud nemáte dostatečně novou verzi .NET Core Runtime (nebo neběží), po úspěšné instalaci se zobrazí tato chybová zpráva:
Co je v něm
Stejně jako desktopová aplikace je rozšíření Plan Explorer navrženo tak, aby vám poskytlo bohatší grafické plány provádění pro vaše dotazy na SQL Server v reálném čase. Je založen na skromné podmnožině funkcí; začali jsme pouze s diagramem plánu, základní mřížkou příkazů, popisky a přístupem k XML (takže plán můžete otevřít v jiných nástrojích). Postupem času do rozšíření přidáme další funkce, abychom se pokusili dostat vás co nejblíže k úplné paritě s desktopovým klientem.
Povolení nebo zakázání rozšíření
- Klikněte na SentryOne Plan Explorer prvek ve stavovém řádku:
- Nebo stiskněte Shift+Ctrl /⌘+P a najděte Toggle SentryOne Plan Explorer :
- Nebo stiskněte Shift+Ctrl /⌘+F5 .
Shromáždit plán provádění
- Ujistěte se, že je rozšíření povoleno.
- V okně nového dotazu vytvořte připojení k serveru a napište nebo vložte dotaz.
- Za Odhad plánu, použijte Vysvětlení na panelu nástrojů.
- Za skutečné plánu, použijte Ctrl /⌘+M .
- Otevře se nový dokument nejvyšší úrovně (s názvem Plan Explorer ) včetně mřížky příkazů, jeden řádek pro každý příkaz generující plán:
- Chcete-li zobrazit podkladový plán XML, klikněte na Zobrazit XML .
- Chcete-li zobrazit diagram plánu pro jakýkoli příkaz, klikněte na Zobrazit plán .
- Chcete-li zobrazit zkrácenou nápovědu pro operátora, umístěte ukazatel myši na operátora. Pro rozšířenou verzi, která obsahuje další informace a „přilepí“ se na pravou stranu panelu, klikněte na operátor:
- Chcete-li změnit kteroukoli z vlastností diagramu, jako je úroveň přiblížení, přepínání mezi skutečnými a odhadovanými plány, zobrazení nákladů pouze podle I/O nebo CPU nebo změna šířky čar, které se mají vykreslit podle počtu řádků nebo velikosti dat, klikněte kamkoli na diagram:
Mřížka příkazů
Plánový diagram s výchozím světelným motivem
Diagram plánu s motivem Solarized Dark
Zkrácené a rozšířené popisky
Kontextová nabídka možností diagramu
- Pokud je přítomno doporučení pro chybějící index, zobrazí se v popisku pro operátor kořenového uzlu varování a kdekoli v diagramu bude dostupná možnost kontextové nabídky po kliknutí pravým tlačítkem (která otevře skript chybějících indexů v novém, odpojeném okně dotazu nejvyšší úrovně):
Chybí upozornění na nápovědu indexu a možnost kontextové nabídky
Chybí indexový skript
Novinka ve verzi 0.9.6 – 15. srpna 2019
- Přidána možnost kontextové nabídky pro přepínání šířky řádků mezi počtem řádků a velikostí dat
- Přidána možnost kontextové nabídky pro zobrazení chybějících doporučení indexu v novém okně dotazu
- Výchozí port API byl posunut z 5000 na 5042, aby se snížilo riziko konfliktu
- Přidáno nastavení pro přizpůsobení čísla místního portu v případě konfliktu:
- Přesunul přepínač zapnutí/vypnutí rozšíření do stavového řádku (díky za návrh, Drew Skwiers-Koballa!)
- Další diagnostika na panelu Výstup pro usnadnění odstraňování problémů:
- Aktualizováno několik ikon operátorů (staré vlevo, nové vpravo):Tvrdit ClusteredIndexDelete ClusteredIndexMerge Aktualizace ClusteredIndex ColumnstoreIndexDelete Vymazat DeletedScan FetchQuery ForeignKeyRefCheck IndexDelete Aktualizace indexu Vložený sken KeyLookup PopulationQuery RemoteDelete RemoteQuery RIDLookup Sekvence Přepínač WindowAggregate
Všimněte si, že změny klíče a ikony vyhledávání RID již nastaly v Plan Explorer 19.0.1 (vysvětlení zde); zbytek těchto změn se brzy objeví v Průzkumníkovi plánu.
Známé problémy
- Když je povoleno rozšíření Plan Explorer, uvidíte také nativní
Explain
funkce poskytované Azure Data Studio (Dave Bland tuto funkci vysvětluje zde). - U skutečných plánů jsou jediné metriky za běhu dostupné v mřížkách Trvání a CPU (vzhledem k dostatečně moderní verzi SQL Serveru). Další údaje se objeví v budoucích verzích, počínaje hodnotami Čtení a %.
- Azure Data Studio aktuálně zkracuje výstup plánu XML na 2 MB (viz problém č. 6299). Takže u větších plánů a/nebo větších dávek nemusíme být schopni zobrazit všechny plány. To se s větší pravděpodobností stane při použití Explain ke generování odhadovaných plánů (takže řekněte ne odhadovaným plánům
). - Nemáme přístup k nabídce Soubor, takže nemůžeme otevřít ani uložit plány a můžeme otevřít pouze jedno okno dokumentu s názvem Průzkumník plánů – což znamená, že alespoň prozatím můžete zobrazit vždy pouze jeden plán plánu.
Chybějící indexy,možnosti šířky čárya funkce sbalení podstromu nejsou v náhledu k dispozici. Nejsou zde také žádné možnosti rozvržení, ale můžete přiblížit pomocí kolečka myši nebo sevřením trackpadu a můžete posouvat přejetím dvěma prsty po trackpadu.- Když se Azure Data Studio otevře s dokumenty obnovenými z předchozí relace, povolení rozšíření Plan Explorer se na tato okna nemusí vztahovat kvůli problému s výčtem dokumentů v tomto stavu. Dokud společnost Microsoft nevydá opravu, mělo by stačit vypnutí a opětovné zapnutí Průzkumníka plánu.
- Podpora motivu je v tuto chvíli experimentální:
- Ne všechny barvy pozadí se vykreslí krásně a všechny odkazy jsou bez ohledu na to modré.
- Na alternativních ikonách navržených pro tmavé motivy se pracuje.
- Pokud po vykreslení plánu změníte barevný motiv, nemůžeme v současné době událost zachytit. Interakcí s diagramem (např. kliknutím pravým tlačítkem myši) jej přinutíte „dohnat“.
Získejte více informací; poskytnout zpětnou vazbu
- Stránka produktu
- Oficiální dokumentace k produktu
- Fórum pro průzkumník plánů SentryOne / ladění dotazů
- Oznámení o vydání v červenci od týmu Azure Data Studio
- Vždy rád zodpovím otázky nebo přijmu zpětnou vazbu na [email protected]