Zaktualizowano 15 sierpnia 2019 r. w wersji 0.9.6.
W zeszłym roku spotkałem się z jednym z moich zespołów programistów – nazywają siebie Injektorami SQL – aby porozmawiać o możliwości replikacji funkcjonalności SentryOne Plan Explorer w Azure Data Studio. Po krótkiej dyskusji przedstawiliśmy koncepcję zespołowi kierowniczemu i uruchomiliśmy plan.
Były pewne komplikacje, jak możesz sobie wyobrazić; Plan Explorer jest napisany przy użyciu technologii desktopowych, a ADS to zupełnie nowy świat. Musieliśmy przekonwertować cały nasz kod .NET Framework na .NET Core, zmienić nasz kod interfejsu użytkownika na Node i React oraz ponownie przepracować całą implementację diagramu planu. Całą historię zachowam na kolejny post, ponieważ po drodze wydarzyło się wiele zabawnych rzeczy i otrzymaliśmy dużą pomoc od wspaniałych ludzi z Microsoftu – Karla Burtrama, Alana Yu, Alana Ren, Charlesa Gagnona i Vicky Harp, aby wymienić tylko kilka. Na razie chcę skupić się na tym, jak dostaniesz podgląd, co jest w nim do tej pory (w tym kilka zrzutów ekranu) i znane problemy.
Jak to zdobyć
Aby uzyskać dostęp do rozszerzenia Plan Explorer, musisz utworzyć bezpłatne konto SentryOne Cloud i wyrazić zgodę na naszą umowę EULA. Konto zapewnia dostęp do naszego forum pomocy technicznej, a my możemy informować Cię na bieżąco o nadchodzących wydaniach i nowych funkcjach. Po utworzeniu konta przejdź do extensions.sentryone.com, gdzie powinieneś zobaczyć następujący link, aby pobrać rozszerzenie:
W ten sposób otrzymasz plik VSIX, który trzeba będzie „załadować z boku” do Azure Data Studio (Microsoft nie obsługuje pełnego hostingu rozszerzeń innych firm w ADS Marketplace, tak jak w przypadku VS Code).
Najpierw upewnij się, że spełniasz nasze wymagania:
- Azure Data Studio 1.9.0 lub nowszy (post z ogłoszeniem w lipcu)
- .NET Core Runtime 2.1 lub nowszy (Windows | macOS | Linux)
- Łączenie z SQL Server 2012 lub nowszym albo Azure SQL Database
I zalecana konfiguracja systemu:
- Dwa lub więcej rdzeni
- 8 GB lub więcej pamięci
- Systemy operacyjne:
- Windows (8.1 / Server 2012 R2 lub lepszy)
- macOS (10.13 lub nowszy)
- RedHat (7,6 lub lepszy)
- SuSE (12.0 lub lepsza)
- Ubuntu (18.04 lub nowszy)
Następnie, aby zainstalować rozszerzenie:
- Otwórz Azure Data Studio.
- Wybierz Plik> Zainstaluj rozszerzenie z pakietu VSIX . Nie możesz dwukrotnie kliknąć pliku VSIX.
- Zlokalizuj pobrany plik SentryOne Plan Explorer VSIX i kliknij Zainstaluj .
- O ile wcześniej go nie odrzuciłeś, musisz odpowiedzieć „tak” na monit dotyczący zaufania rozszerzeniom stron trzecich:
Jeśli nie masz wystarczająco nowej wersji usługi Azure Data Studio (lub używasz kompilacji Insiders ze zmianami, których jeszcze nie przetestowaliśmy), niektóre funkcje mogą nie działać zgodnie z oczekiwaniami.
Jeśli nie masz wystarczająco nowej wersji środowiska wykonawczego .NET Core (lub nie jest ono uruchomione), po pomyślnym zakończeniu instalacji pojawi się następujący komunikat o błędzie:
Co w tym jest
Podobnie jak aplikacja komputerowa, rozszerzenie Plan Explorer zostało zaprojektowane w celu zapewnienia bogatszych graficznych planów wykonania zapytań w czasie rzeczywistym dotyczących SQL Server. Opiera się na skromnym podzbiorze funkcjonalności; zaczęliśmy od samego diagramu planu, siatki podstawowych instrukcji, podpowiedzi i dostępu do XML (aby można było otworzyć plan w innych narzędziach). Z czasem dodamy więcej funkcji do rozszerzenia, aby spróbować zbliżyć się do pełnej zgodności z klientem komputerowym.
Aby włączyć lub wyłączyć rozszerzenie
- Kliknij Eksplorator planów SentryOne element na pasku stanu:
- Lub naciśnij Shift+Ctrl /⌘+P i znajdź Przełącz Eksplorator planów SentryOne :
- Lub naciśnij Shift+Ctrl /⌘+F5 .
Aby zebrać plan wykonania
- Upewnij się, że rozszerzenie jest włączone.
- W nowym oknie zapytania nawiąż połączenie z serwerem i napisz lub wklej zapytanie.
- Dla Szacunkowego planu, użyj Wyjaśnij przycisk na pasku narzędzi.
- Dla rzeczywistego plan, użyj Ctrl /⌘+M .
- Otworzy się nowy dokument najwyższego poziomu (zatytułowany Eksplorator planów ) wraz z siatką oświadczeń, jeden wiersz na każde oświadczenie generujące plan:
- Aby wyświetlić podstawowy kod XML planu, kliknij Wyświetl XML .
- Aby wyświetlić diagram planu dla dowolnego wyciągu, kliknij Wyświetl plan .
- Aby zobaczyć skróconą podpowiedź dla operatora, najedź na niego. Aby uzyskać rozszerzoną wersję, która zawiera więcej informacji i "kije" po prawej stronie panelu, kliknij operator:
- Aby zmienić dowolne właściwości diagramu, takie jak poziom powiększenia, przełączanie między planami rzeczywistymi i szacowanymi, pokazywanie kosztów tylko według we/wy lub procesora lub zmiana szerokości linii, które mają być renderowane według liczby wierszy lub rozmiaru danych, w prawo kliknij w dowolnym miejscu na diagramie:
Siatka oświadczeń
Diagram planu z domyślnym motywem świetlnym
Diagram planu z motywem Solarized Dark
Skondensowane i rozszerzone podpowiedzi
Menu kontekstowe opcji diagramu
- W przypadku braku zalecenia dotyczącego indeksu w podpowiedzi pojawi się ostrzeżenie dla operatora węzła głównego, a opcja menu kontekstowego po kliknięciu prawym przyciskiem myszy będzie dostępna w dowolnym miejscu na diagramie (co otworzy skrypt brakujących indeksów w nowym, odłączonym oknie zapytań najwyższego poziomu):
Ostrzeżenie o braku podpowiedzi indeksu i opcja menu kontekstowego
Brak skryptu indeksu
Nowość w wersji 0.9.6 – 15 sierpnia 2019
- Dodano opcję menu kontekstowego do przełączania szerokości linii między liczbą wierszy a rozmiarem danych
- Dodano opcję menu kontekstowego, aby pokazać brakujące rekomendacje indeksu w nowym oknie zapytania
- Zmieniono domyślny port API z 5000 na 5042, aby zmniejszyć ryzyko konfliktu
- Dodano ustawienie umożliwiające dostosowanie numeru portu lokalnego w przypadku konfliktu:
- Przeniesiono przełącznik włączania/wyłączania rozszerzenia do paska stanu (dzięki za sugestię, Drew Skwiers-Koballa!)
- Dodatkowa diagnostyka w panelu Wyjście ułatwiająca rozwiązywanie problemów:
- Zaktualizowano kilka ikon operatora (stare po lewej, nowe po prawej):Assert ClusteredIndexUsuń Scalanie indeksu klastrowego ClusteredIndex Update ColumnstoreIndexUsuń Usunąć Usunięty skan FetchQuery Sprawdzanie referencji klucza obcego Indeks Usuń Aktualizacja indeksu Wstawiony skan KeyLookup Zapytanie o populację Zdalne usuwanie Zapytanie zdalne RIDLookup Sekwencja Przełącznik WindowAgregate
Zwróć uwagę, że zmiany ikon wyszukiwania kluczy i identyfikatorów RID miały już miejsce w programie Plan Explorer 19.0.1 (wyjaśnienie tutaj); reszta tych zmian pojawi się wkrótce w Eksploratorze planów.
Znane problemy
- Gdy rozszerzenie Plan Explorer jest włączone, doświadczysz również natywnego
Explain
funkcjonalność zapewniana przez Azure Data Studio (Dave Bland wyjaśnia tę funkcjonalność tutaj). - W przypadku rzeczywistych planów jedynymi metrykami środowiska uruchomieniowego dostępnymi w siatkach są czas trwania i procesor (biorąc pod uwagę wystarczająco nowoczesną wersję programu SQL Server). Inne dane pojawią się w przyszłych wydaniach, zaczynając od odczytów i % kosztów.
- Azure Data Studio obecnie obcina dane wyjściowe XML planu do 2 MB (zobacz problem #6299). Dlatego w przypadku większych planów i/lub większych partii możemy nie być w stanie wyświetlić wszystkich planów. Jest to bardziej prawdopodobne, gdy używasz funkcji Wyjaśnij do generowania szacunkowych planów (więc po prostu powiedz „nie” szacunkowym planom
). - Nie mamy dostępu do menu Plik, więc nie możemy otwierać ani zapisywać planów i możemy otworzyć tylko jedno okno dokumentu o nazwie Eksplorator planów – co oznacza, że przynajmniej na razie możesz pokazać tylko jeden diagram planu na raz.
Brakujące indeksy,opcjach szerokości linii, a funkcja zwijania poddrzewa jest niedostępna w podglądzie. Nie ma również opcji układu, ale możesz powiększać za pomocą kółka myszy lub szczypania gładzika, a także przesuwać, przesuwając dwoma palcami po gładziku.- Gdy Azure Data Studio otworzy się z dokumentami odzyskanymi z poprzedniej sesji, włączenie rozszerzenia Plan Explorer może nie mieć zastosowania do tych okien z powodu problemu z wyliczaniem dokumentów w tym stanie. Dopóki Microsoft nie wyda poprawki, wyłączenie i ponowne włączenie Eksploratora planów powinno wystarczyć.
- Obsługa motywów jest obecnie eksperymentalna:
- Nie wszystkie kolory tła będą się pięknie renderować, a wszystkie linki są niebieskie bez względu na wszystko.
- Pracujemy nad alternatywnymi ikonami przeznaczonymi dla ciemnych motywów.
- Jeśli zmienisz motyw kolorystyczny po renderowaniu planu, obecnie nie możemy uchwycić wydarzenia. Wejdź w interakcję z diagramem (np. kliknięcie prawym przyciskiem myszy), aby zmusić go do „nadrobienia zaległości”.
Uzyskaj więcej informacji; przekaż opinię
- Strona produktu
- Oficjalna dokumentacja produktu
- Forum eksploratora planów SentryOne / dostrajanie zapytań
- Powiadomienie o wydaniu w lipcu od zespołu Azure Data Studio
- Zawsze chętnie odpowiadam na pytania lub przyjmuje opinie pod adresem [email protected]