Database
 sql >> Datenbank >  >> RDS >> Database

VORSCHAU:SentryOne Plan Explorer-Erweiterung für Azure Data Studio

Aktualisiert am 15. August 2019 für 0.9.6.

Letztes Jahr traf ich mich hier mit einem meiner Entwicklerteams – sie nennen sich selbst SQL Injectors –, um über die Möglichkeit zu sprechen, die SentryOne Plan Explorer-Funktionalität innerhalb von Azure Data Studio zu replizieren. Nach einigen Diskussionen brachten wir das Konzept dem Führungsteam vor und setzten einen Plan in Gang.

Wie Sie sich vorstellen können, gab es einige Komplikationen; Plan Explorer wurde unter Verwendung von Desktop-Technologien geschrieben, und ADS ist eine ganz neue Welt. Wir mussten unseren gesamten .NET Framework-Code in .NET Core konvertieren, unseren UI-Code in Node and React ändern und die gesamte Plandiagrammimplementierung überarbeiten. Ich hebe mir die ganze Hintergrundgeschichte für einen anderen Beitrag auf, weil viele lustige Dinge auf dem Weg passiert sind und wir viel Hilfe von einigen großartigen Leuten bei Microsoft bekommen haben – Karl Burtram, Alan Yu, Alan Ren, Charles Gagnon und Vicky Harp. um ein paar zu nennen. Im Moment möchte ich mich darauf konzentrieren, wie Sie die Vorschau erhalten, was sie bisher enthält (einschließlich einiger Screenshots) und bekannte Probleme.

So erhalten Sie es

Um auf die Plan Explorer-Erweiterung zugreifen zu können, müssen Sie ein kostenloses SentryOne Cloud-Konto erstellen und unserer EULA zustimmen. Über das Konto haben Sie Zugriff auf unser Support-Forum, und wir können Sie über bevorstehende Versionen und neue Funktionen auf dem Laufenden halten. Sobald Sie Ihr Konto erstellt haben, gehen Sie zu extensions.sentryone.com, wo Sie den folgenden Link sehen sollten, um die Erweiterung herunterzuladen:

Dadurch erhalten Sie eine VSIX-Datei, die Sie in Azure Data Studio „querladen“ müssen (Microsoft unterstützt kein vollständiges Hosting für Erweiterungen von Drittanbietern im ADS Marketplace, wie dies bei VS Code der Fall ist).

Stellen Sie zunächst sicher, dass Sie unsere Anforderungen erfüllen:

  • Azure Data Studio 1.9.0 oder neuer (Ankündigungspost vom Juli)
  • .NET Core Runtime 2.1 oder neuer (Windows | macOS | Linux)
  • Verbindung mit SQL Server 2012 oder besser oder Azure SQL-Datenbank herstellen

Und empfohlene Systemkonfiguration:

  • Zwei oder mehr Kerne
  • 8 GB oder mehr Arbeitsspeicher
  • Betriebssysteme:
    • Windows (8.1 / Server 2012 R2 oder besser)
    • macOS (10.13 oder besser)
    • RedHat (7.6 oder besser)
    • SuSE (12.0 oder besser)
    • Ubuntu (18.04 oder besser)

Dann die Erweiterung installieren:

  • Öffnen Sie Azure Data Studio.
  • Wählen Sie Datei> Erweiterung aus dem VSIX-Paket installieren . Sie können nicht auf die VSIX-Datei doppelklicken.
  • Suchen Sie die heruntergeladene SentryOne Plan Explorer VSIX-Datei und klicken Sie auf Installieren .
  • Sofern Sie es nicht zuvor abgelehnt haben, müssen Sie zu einer Aufforderung zum Vertrauen in Erweiterungen von Drittanbietern Ja sagen:

    Wenn Sie nicht über eine ausreichend aktuelle Version von Azure Data Studio verfügen (oder Sie einen Insiders-Build mit Änderungen verwenden, die wir noch nicht getestet haben), funktionieren einige Funktionen möglicherweise nicht wie erwartet.

    Wenn Sie nicht über eine ausreichend aktuelle Version der .NET Core Runtime verfügen (oder sie nicht ausgeführt wird), erhalten Sie nach erfolgreicher Installation diese Fehlermeldung:

Was ist drin

Wie die Desktop-Anwendung wurde auch die Plan Explorer-Erweiterung entwickelt, um Ihnen umfangreichere grafische Ausführungspläne für Ihre Echtzeitabfragen für SQL Server bereitzustellen. Es basiert auf einer bescheidenen Teilmenge an Funktionalität; Wir haben nur mit dem Plandiagramm, einem Raster mit grundlegenden Anweisungen, QuickInfos und Zugriff auf das XML begonnen (damit Sie den Plan in anderen Tools öffnen können). Wir werden der Erweiterung im Laufe der Zeit weitere Funktionen hinzufügen, um zu versuchen, Sie so nah wie möglich an die volle Parität mit dem Desktop-Client zu bringen.

Zum Aktivieren oder Deaktivieren der Erweiterung

  • Klicken Sie auf den SentryOne Plan Explorer Element in der Statusleiste:

  • Oder drücken Sie Umschalt+Strg /⌘+P und suchen Sie Toggle SentryOne Plan Explorer :

  • Oder drücken Sie Umschalt+Strg /⌘+F5 .

Um einen Ausführungsplan zu sammeln

  • Stellen Sie sicher, dass die Erweiterung aktiviert ist.
  • Stellen Sie in einem neuen Abfragefenster eine Verbindung zu einem Server her und schreiben oder fügen Sie eine Abfrage ein.
  • Für eine Schätzung verwenden Sie die Erklärung Schaltfläche in der Symbolleiste.
  • Für einen tatsächlichen verwenden Sie Strg /⌘+M .
  • Ein neues Dokument der obersten Ebene wird geöffnet (mit dem Titel Plan Explorer ) einschließlich eines Rasters von Anweisungen, eine Zeile für jede planerzeugende Anweisung:

      Anweisungsraster

    • Um die zugrunde liegende Plan-XML anzuzeigen, klicken Sie auf XML anzeigen .
    • Um das Plandiagramm für eine beliebige Anweisung anzuzeigen, klicken Sie auf Plan anzeigen .
    • Plandiagramm mit hellem Standarddesign

      Plandiagramm mit Solarized Dark-Design

    • Um die Kurzinfo für einen Operator anzuzeigen, bewegen Sie den Mauszeiger über den Operator. Für die erweiterte Version, die weitere Informationen enthält und auf der rechten Seite des Panels "klebt", klicken Sie auf den Operator:
    • Komprimierte und erweiterte QuickInfos

    • Um Diagrammeigenschaften zu ändern, wie z. B. Zoomstufe, Umschalten zwischen tatsächlichen und geschätzten Plänen, Anzeigen der Kosten nur nach E/A oder CPU oder Ändern der Linienbreiten, die nach Anzahl der Zeilen oder Datengröße gerendert werden sollen, rechts- Klicken Sie irgendwo auf das Diagramm:
    • Kontextmenü für Diagrammoptionen

    • Wenn eine Empfehlung für einen fehlenden Index vorhanden ist, erscheint eine Warnung im Tooltip für den Root-Node-Operator, und eine Rechtsklick-Kontextmenüoption ist überall im Diagramm verfügbar (wodurch das Skript für fehlende Indizes geöffnet wird). in einem neuen, getrennten Abfragefenster der obersten Ebene):

      Fehlende Index-Tooltip-Warnung und Kontextmenüoption

      Fehlendes Indexskript

Neu in 0.9.6 – 15. August 2019

  • Kontextmenüoption hinzugefügt, um die Linienstärke zwischen Zeilenanzahl und Datengröße umzuschalten
  • Kontextmenüoption hinzugefügt, um fehlende Indexempfehlungen in einem neuen Abfragefenster anzuzeigen
  • Der Standard-API-Port wurde von 5000 auf 5042 verschoben, um die Wahrscheinlichkeit von Konflikten zu verringern
  • Eine Einstellung hinzugefügt, um die lokale Portnummer im Konfliktfall anzupassen:

  • Schaltfläche zum Ein-/Ausschalten der Erweiterung in die Statusleiste verschoben (danke für den Vorschlag, Drew Skwiers-Koballa!)
  • Zusätzliche Diagnosen im Bedienfeld „Ausgabe“ zur Unterstützung der Fehlerbehebung:

  • Mehrere Operatorsymbole aktualisiert (alt links, neu rechts):Assert

    ClusteredIndexDelete

    ClusteredIndexMerge

    ClusteredIndexUpdate

    ColumnstoreIndexDelete

    Löschen

    Gelöschter Scan

    Abrufabfrage

    ForeignKeyRefCheck

    IndexLöschen

    IndexUpdate

    Eingefügter Scan

    Schlüsselsuche

    Bevölkerungsabfrage

    RemoteLöschen

    RemoteQuery

    RIDLookup

    Reihenfolge

    Schalten

    WindowAggregate

    Beachten Sie, dass die Änderungen der Schlüssel- und RID-Lookup-Symbole bereits in Plan Explorer 19.0.1 vorgenommen wurden (Erklärung hier); Die restlichen Änderungen werden bald im Plan Explorer angezeigt.

Bekannte Probleme

  • Wenn die Plan Explorer-Erweiterung aktiviert ist, erleben Sie auch das native Explain Funktionalität, die von Azure Data Studio bereitgestellt wird (Dave Bland erklärt diese Funktionalität hier).
  • Für tatsächliche Pläne sind die einzigen in Rastern verfügbaren Laufzeitmetriken Dauer und CPU (bei einer ausreichend modernen Version von SQL Server). Andere Daten werden in zukünftigen Versionen erscheinen, beginnend mit Reads und Cost %.
  • Azure Data Studio kürzt die Plan-XML-Ausgabe derzeit bei 2 MB (siehe Problem Nr. 6299). Bei größeren Plänen und/oder größeren Chargen können wir daher möglicherweise nicht alle Pläne anzeigen. Dies ist wahrscheinlicher, wenn Explain zum Generieren von geschätzten Plänen verwendet wird (sagen Sie also einfach nein zu geschätzten Plänen ).
  • Wir haben keinen Zugriff auf das Menü Datei, daher können wir keine Pläne öffnen oder speichern, und wir können nur ein einzelnes Dokumentfenster namens Plan Explorer öffnen – was bedeutet, dass Sie zumindest derzeit nur ein Plandiagramm auf einmal anzeigen können.
  • Fehlende Indizes , Optionen für die Linienbreite , und die Funktion zum Reduzieren von Teilbäumen sind in der Vorschau nicht verfügbar. Es gibt auch keine Layoutoptionen, aber Sie können mit dem Mausrad oder dem Trackpad zoomen und mit dem Trackpad mit zwei Fingern schwenken.
  • Wenn Azure Data Studio mit Dokumenten geöffnet wird, die aus einer vorherigen Sitzung wiederhergestellt wurden, gilt die Aktivierung der Plan Explorer-Erweiterung möglicherweise nicht für diese Fenster, da es ein Problem mit der Aufzählung von Dokumenten in diesem Zustand gibt. Bis Microsoft einen Fix veröffentlicht, sollte es ausreichen, den Plan Explorer aus- und wieder einzuschalten.
  • Theme-Unterstützung ist derzeit noch experimentell:
    • Nicht alle Hintergrundfarben werden schön wiedergegeben, und alle Links sind in jedem Fall blau.
    • Alternative Symbole für dunkle Themen sind in Arbeit.
    • Wenn Sie das Farbdesign nach dem Rendern eines Plans ändern, können wir das Ereignis derzeit nicht erfassen. Interagieren Sie mit dem Diagramm (z. B. mit der rechten Maustaste), um es zum "Aufholen" zu zwingen

Weitere Informationen erhalten; Feedback geben

  • Produktseite
  • Offizielle Produktdokumentation
  • SentryOne Plan Explorer / Query Tuning Forum
  • Veröffentlichungsankündigung für Juli vom Azure Data Studio-Team
  • Ich beantworte gerne Fragen oder nehme Feedback unter [email protected] entgegen