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

ANTEPRIMA:Estensione di SentryOne Plan Explorer per Azure Data Studio

Aggiornato il 15 agosto 2019 alla 0.9.6.

L'anno scorso, mi sono riunito qui con uno dei miei team di sviluppo, che si chiamano SQL Injectors, per parlare della possibilità di replicare la funzionalità di SentryOne Plan Explorer all'interno di Azure Data Studio. Dopo un po' di discussione, abbiamo portato il concetto al gruppo dirigente e abbiamo messo in moto un piano.

Ci sono state alcune complicazioni, come puoi immaginare; Plan Explorer è scritto utilizzando tecnologie desktop e ADS è un mondo completamente nuovo. Abbiamo dovuto convertire tutto il nostro codice .NET Framework in .NET Core, modificare il codice dell'interfaccia utente in Node and React e rielaborare l'intera implementazione del diagramma del piano. Salverò tutto il retroscena per un altro post, perché molte cose divertenti sono accadute lungo il percorso e abbiamo ricevuto molto aiuto da alcune persone fantastiche in Microsoft:Karl Burtram, Alan Yu, Alan Ren, Charles Gagnon e Vicky Harp, per dirne alcuni. Per ora, voglio concentrarmi su come mettere le mani sull'anteprima, cosa contiene finora (inclusi alcuni screenshot) e problemi noti.

Come lo ottieni

Per accedere all'estensione Plan Explorer, devi creare un account SentryOne Cloud gratuito e accettare il nostro EULA. L'account ti dà accesso al nostro forum di supporto e possiamo tenerti aggiornato sulle prossime versioni e sulle nuove funzionalità. Dopo aver creato il tuo account, vai su extensions.sentryone.com, dove dovresti vedere il seguente link per scaricare l'estensione:

Questo ti darà un file VSIX che dovrai "caricare lateralmente" in Azure Data Studio (Microsoft non supporta l'hosting completo per estensioni di terze parti in ADS Marketplace, come fanno con VS Code).

In primo luogo, assicurati di soddisfare i nostri requisiti:

  • Azure Data Studio 1.9.0 o versioni successive (post annuncio di luglio)
  • .NET Core Runtime 2.1 o versioni successive (Windows | macOS | Linux)
  • Connessione a SQL Server 2012 o versioni successive o al database SQL di Azure

E configurazione di sistema consigliata:

  • Due o più core
  • 8 GB o più di memoria
  • Sistemi operativi:
    • Windows (8.1/Server 2012 R2 o superiore)
    • macOS (10.13 o superiore)
    • RedHat (7.6 o superiore)
    • SuSE (12.0 o superiore)
    • Ubuntu (18.04 o superiore)

Quindi, per installare l'estensione:

  • Apri Azure Data Studio.
  • Seleziona File> Installa l'estensione dal pacchetto VSIX . Non puoi fare doppio clic sul file VSIX.
  • Cerca il file SentryOne Plan Explorer VSIX che hai scaricato e fai clic su Installa .
  • A meno che tu non l'abbia ignorato in precedenza, dovrai rispondere di sì a una richiesta sull'attendibilità delle estensioni di terze parti:

    Se non hai una versione sufficientemente nuova di Azure Data Studio (o stai usando una build Insider con modifiche che non abbiamo ancora testato), alcune funzionalità potrebbero non funzionare come previsto.

    Se non hai una versione sufficientemente nuova di .NET Core Runtime (o non è in esecuzione), riceverai questo messaggio di errore al termine dell'installazione:

Cosa c'è dentro

Come l'applicazione desktop, l'estensione Plan Explorer è progettata per fornire piani di esecuzione grafica più ricchi per le query in tempo reale su SQL Server. Si basa su un modesto sottoinsieme di funzionalità; abbiamo iniziato solo con il diagramma del piano, una griglia di istruzioni di base, suggerimenti e l'accesso all'XML (in modo da poter aprire il piano in altri strumenti). Aggiungeremo più funzionalità all'estensione nel tempo per cercare di avvicinarti il ​​più possibile alla piena parità con il client desktop.

Per abilitare o disabilitare l'estensione

  • Fai clic su SentryOne Plan Explorer elemento nella barra di stato:

  • Oppure premi Maiusc+Ctrl /⌘+P e trova Toggle SentryOne Plan Explorer :

  • Oppure premi Maiusc+Ctrl /⌘+F5 .

Per raccogliere un piano di esecuzione

  • Assicurati che l'estensione sia abilitata.
  • In una nuova finestra di query, stabilisci una connessione a un server e scrivi o incolla una query.
  • Per una Stima piano, utilizza la Spiega pulsante sulla barra degli strumenti.
  • Per un effettivo piano, usa Ctrl /⌘+M .
  • Si aprirà un nuovo documento di primo livello (intitolato Plan Explorer ) inclusa una griglia di rendiconti, una riga per ogni rendiconto generatore del piano:

      Griglia delle dichiarazioni

    • Per visualizzare l'XML del piano sottostante, fai clic su Visualizza XML .
    • Per visualizzare il diagramma del piano per qualsiasi rendiconto, fai clic su Visualizza piano .
    • Diagramma del piano con tema luce predefinito

      Diagramma piano con tema Solarized Dark

    • Per visualizzare il suggerimento breve per un operatore, passa il mouse sopra l'operatore. Per la versione ampliata, che include maggiori informazioni e "stick" sul lato destro del pannello, fare clic sull'operatore:
    • Tooltip condensati ed espansi

    • Per modificare una qualsiasi delle proprietà del diagramma, come il livello di zoom, il passaggio tra i piani effettivi e stimati, la visualizzazione dei costi per I/O o solo CPU, o la modifica delle larghezze delle righe da renderizzare in base al numero di righe o alla dimensione dei dati, a destra- fare clic in un punto qualsiasi del diagramma:
    • Menu contestuale opzioni diagramma

    • Quando è presente una raccomandazione sull'indice mancante, nella descrizione comando viene visualizzato un avviso per l'operatore del nodo radice e un'opzione del menu contestuale del tasto destro del mouse sarà disponibile in qualsiasi punto del diagramma (che aprirà lo script degli indici mancanti in una nuova finestra di query di primo livello disconnessa):

      Avviso di descrizione comando indice mancante e opzione del menu contestuale

      Script indice mancante

Novità dalla 0.9.6 al 15 agosto 2019

  • Aggiunta opzione del menu contestuale per cambiare la larghezza delle righe tra il numero di righe e la dimensione dei dati
  • Aggiunta opzione del menu contestuale per mostrare i consigli sull'indice mancanti in una nuova finestra di query
  • Porta API predefinita spostata da 5000 a 5042 per ridurre la possibilità di conflitti
  • Aggiunta un'impostazione per personalizzare il numero di porta locale in caso di conflitto:

  • Attivazione/disattivazione dell'estensione spostata nella barra di stato (grazie per il suggerimento, Drew Skwiers-Koballa!)
  • Diagnostica aggiuntiva nel pannello Output per facilitare la risoluzione dei problemi:

  • Aggiornate diverse icone dell'operatore (vecchie a sinistra, nuove a destra):Afferma

    ClusteredIndexDelete

    ClusteredIndexMerge

    ClusteredIndexUpdate

    ColumnstoreIndexDelete

    Eliminare

    Scansione eliminata

    FetchQuery

    ForeignKeyRefCheck

    Indice Elimina

    Aggiornamento dell'indice

    Scansione inserita

    Ricerca chiavi

    PopulationQuery

    Cancellazione remota

    Interrogazione remota

    RIDLookup

    Sequenza

    Interruttore

    WindowAggregate

    Si noti che le modifiche all'icona di ricerca chiave e RID sono già avvenute in Plan Explorer 19.0.1 (spiegazione qui); il resto di queste modifiche apparirà presto in Plan Explorer.

Problemi noti

  • Quando l'estensione Plan Explorer è abilitata, sperimenterai anche il nativo Explain funzionalità fornita da Azure Data Studio (Dave Bland spiega questa funzionalità qui).
  • Per i piani effettivi, le uniche metriche di runtime disponibili nelle griglie sono Durata e CPU (data una versione sufficientemente moderna di SQL Server). Altri dati verranno visualizzati nelle versioni future, a partire da Letture e costo %.
  • Azure Data Studio attualmente tronca l'output XML del piano a 2 MB (vedi problema n. 6299). Quindi, per piani più grandi e/o lotti più grandi, potremmo non essere in grado di mostrare tutti i piani. È più probabile che ciò accada quando si utilizza Spiega per generare piani stimati (quindi basta dire di no ai piani stimati ).
  • Non abbiamo accesso al menu File, quindi non possiamo aprire o salvare piani e possiamo aprire solo una singola finestra del documento denominata Esplora piani – il che significa che, almeno per ora, puoi mostrare un solo diagramma di pianta alla volta.
  • Indici mancanti , opzioni di larghezza della linea e la funzionalità di compressione del sottoalbero non è disponibile nell'anteprima. Non ci sono nemmeno opzioni di layout, ma puoi zoomare con la rotellina del mouse o pizzicando il trackpad e puoi eseguire la panoramica con lo scorrimento del trackpad con due dita.
  • Quando Azure Data Studio si apre con i documenti recuperati da una sessione precedente, l'abilitazione dell'estensione Plan Explorer potrebbe non essere applicabile a tali finestre, a causa di un problema nell'enumerazione dei documenti in quello stato. Fino a quando Microsoft non rilascerà una correzione, disattivare e riattivare Plan Explorer dovrebbe fare il trucco.
  • Il supporto del tema è sperimentale a questo punto:
    • Non tutti i colori di sfondo verranno visualizzati in modo eccellente e tutti i collegamenti sono blu, non importa cosa.
    • Sono in lavorazione icone alternative progettate per temi scuri.
    • Se modifichi il tema del colore dopo aver eseguito il rendering di un piano, al momento non possiamo acquisire l'evento. Interagisci con il diagramma (ad esempio, fai clic con il pulsante destro del mouse) per forzarlo a "recuperare".

Ottieni maggiori informazioni; fornire feedback

  • Pagina del prodotto
  • Documentazione ufficiale del prodotto
  • Forum SentryOne Plan Explorer / Query Tuning
  • Annuncio del rilascio di luglio dal team di Azure Data Studio
  • Sono sempre felice di rispondere a domande o ricevere feedback a [email protected]