Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Query Profiler nell'estensione MSSQL per Visual Studio Code consente di acquisire e monitorare l'attività del database in tempo reale, direttamente all'interno dell'editor. Basato su eventi estesi, Query Profiler offre un monitoraggio delle prestazioni a basso sovraccarico che consente di osservare rapidamente l'attività T-SQL in tempo reale, identificare le operazioni lente e individuare i colli di bottiglia delle prestazioni durante la compilazione.
Query Profiler supporta SQL Server (locale o in ambienti cloud privati e pubblici) e il database SQL di Azure. È possibile monitorare le sessioni attive, esaminare i dettagli dell'esecuzione e comprendere come l'applicazione interagisce con il database durante lo sviluppo e il test, senza passare da strumenti di monitoraggio all'editor.
Suggerimento
Query Profiler è attualmente in anteprima e potrebbe cambiare in base al feedback. Partecipare alla community in GitHub Discussioni per condividere idee o segnalare problemi.
Funzionalità
Query Profiler nell'estensione MSSQL offre le funzionalità seguenti:
- Monitorare l'attività di query e database in tempo reale in una griglia eventi in tempo reale.
- Configurare nuove sessioni di profilatura con selezione del modello e denominazione della sessione.
- Controllare il ciclo di vita della sessione con le azioni Start, Pause, Resume, Stop e Clear Data .
- Eseguire più sessioni di profilatura simultanee e passare da una sessione all'altra con il selettore di sessione.
- Filtrare gli eventi acquisiti in base al testo, al nome del database, alla durata e ad altri campi.
- Attivare o disattivare lo scorrimento automatico per seguire gli eventi più recenti o controllare le voci meno recenti.
- Esportare gli eventi acquisiti in CSV.
- Aprire e visualizzare i file esistenti
.xelin una griglia profiler di sola lettura. - Selezionare automaticamente il modello appropriato per le destinazioni del database SQL di Azure (
Standard_Azure). - Funziona in Windows, macOS e Linux in tutte le piattaforme di Visual Studio Code supportate.
Prerequisiti
- Installare la versione più recente dell'estensione MSSQL per Visual Studio Code.
- Connessione attiva a un'istanza di SQL Server supportata o a un database SQL di Azure.
- Autorizzazioni del server appropriate. È necessaria l'autorizzazione
ALTER ANY EVENT SESSION(o equivalente) per avviare una sessione di profilatura.
Avvia Query Profiler
È possibile avviare Query Profiler dalla visualizzazione Connessioni o dal riquadro comandi.
Dalla visualizzazione Connessioni:
Nella visualizzazione Connessioni fare clic con il pulsante destro del mouse su un'istanza di SQL Server.
Selezionare Avvia Query Profiler (Anteprima).
Dalla palette comandi:
Aprire il riquadro comandi (CTRL+MAIUSC+P o CMD+MAIUSC+P).
Selezionare MSSQL: Avviare Query Profiler.
Se non è attiva alcuna connessione, selezionare una connessione quando richiesto.
Viene visualizzato il pannello Query Profiler, associato alla connessione selezionata.
Creare una sessione di profilatura
Quando si apre il pannello Query Profiler senza sessione attiva, viene visualizzata la schermata Nuova sessione.
Verificare o modificare la connessione per la sessione di profilatura.
Selezionare un modello dall'elenco a discesa. I modelli disponibili dipendono dalla destinazione della connessione:
- Standard_OnPrem: modello di profilatura standard per SQL Server locale.
- TSQL_OnPrem: modello di profilatura T-SQL per SQL Server locale.
- TSQL_Locks: modello di profilatura T-SQL con eventi di blocco per SQL Server locale.
- TSQL_Duration: filtro dei modelli di profilatura T-SQL per durata per SQL Server locale.
- Standard_Azure: modello di profilatura standard per il database SQL di Azure.
Annotazioni
Quando si seleziona il database SQL di Azure come destinazione, l'estensione seleziona automaticamente il
Standard_Azuremodello. Se è disponibile un solo modello valido, l'estensione la seleziona automaticamente o la mostra come testo di sola lettura.Immettere un nome di sessione. Premere INVIO per confermare o escape per annullare.
Il pannello passa alla visualizzazione degli eventi live e viene creata una sessione del profiler tramite il servizio SQL Tools.
Monitorare gli eventi live
Quando si esegue una sessione di profilatura, la griglia degli eventi trasmette gli eventi acquisiti in ordine cronologico. Nella griglia vengono visualizzate le colonne seguenti in base al modello selezionato:
-
EventClass: tipo di evento acquisito, ad esempio
sql_batch_startingorpc_completed. - TextData: istruzione T-SQL o testo dell'evento.
- ApplicationName: applicazione che ha generato l'evento.
- LoginName: account di accesso associato all'evento.
- ClientProcessID: identificatore del processo client.
- SPID: ID del processo del server.
- StartTime: timestamp dell'evento.
- CPU: tempo cpu utilizzato.
- Letture: numero di letture logiche.
- Scritture: Numero di scritture logiche.
- Durata: tempo di esecuzione dell'evento.
- DatabaseName: database in cui si è verificato l'evento.
- HostName: computer host che ha generato l'evento.
Azioni della barra degli strumenti
La barra degli strumenti fornisce i controlli seguenti per la sessione attiva:
| Action | Descrzione |
|---|---|
| Nuova sessione | Apre il nuovo flusso di sessione per creare un'altra sessione di profilatura. |
| Inizio | Riprende lo streaming di eventi per una sessione interrotta o arrestata. |
| Stop | Ferma la sessione di profilazione. Non arrivano nuovi eventi, ma gli eventi acquisiti rimangono visibili per la revisione, il filtro e l'esportazione. |
| pausa | Interrompe temporaneamente l'aggiornamento della griglia. L'interfaccia utente mostra un indicatore sospeso . |
| Cancella dati | Cancella tutte le righe dalla griglia della sessione corrente. Se la sessione è ancora in esecuzione, i nuovi eventi continuano a popolare la griglia. |
| Cancella tutti i filtri | Rimuove tutti i filtri di colonna attivi e ripristina la visualizzazione eventi completa. |
| Filtro rapido di tutte le colonne... | Cerca in tutte le colonne per trovare rapidamente gli eventi corrispondenti. |
| Esporta in CSV | Esporta gli eventi acquisiti della sessione corrente in un file CSV. |
| Scorrimento automatico | Attiva o disattiva se la griglia scorre fino alla riga più recente quando arrivano nuovi eventi. Lo scorrimento automatico è attivato per impostazione predefinita per le nuove sessioni. |
Filtrare gli eventi
Usare i filtri di colonna per restringere la griglia degli eventi e concentrarsi sull'attività pertinente. Ogni intestazione di colonna include un'icona di filtro che apre un filtro specifico per il tipo di dati della colonna.
Filtrare in base ai valori di colonna (ad esempio, DatabaseName o ApplicationName)
Selezionare l'icona del filtro in un'intestazione di colonna, ad esempio
DatabaseName.Nell'elenco a discesa del filtro usare la casella di ricerca per individuare i valori oppure selezionare e deselezionare voci specifiche dall'elenco delle caselle di controllo.
Selezionare Applica per filtrare la griglia. Selezionare Cancella per rimuovere il filtro per la colonna.
Filtrare in base ai valori numerici (ad esempio, Duration)
Selezionare l'icona del filtro in una colonna numerica,
Durationad esempio .Scegliere un operatore di confronto (ad esempio,
=,>,<) e immettere una soglia numerica.Selezionare Applica per filtrare la griglia.
Quando uno o più filtri sono attivi, i chip di filtro vengono visualizzati sotto la barra degli strumenti che mostra quali colonne vengono filtrate. Selezionare la X su un chip per rimuovere il filtro oppure selezionare Cancella tutti i filtri nella barra degli strumenti per reimpostare tutti i filtri contemporaneamente.
Annotazioni
I filtri applicano il lato client sia agli eventi attualmente visualizzati che ai nuovi eventi trasmessi durante la sessione.
Gestire più sessioni
Query Profiler supporta l'esecuzione simultanea di più sessioni di profilatura, ognuna con una connessione, un modello e un buffer eventi specifici.
Selezionare Nuova sessione sulla barra degli strumenti per creare un'altra sessione. La nuova sessione può mirare alla stessa connessione o a una diversa.
Usare l'elenco a discesa Selettore sessione per passare da una sessione all'altra. Ogni sessione visualizza lo stato (In esecuzione, Sospeso o Arrestato) con un indicatore visivo.
Quando si cambia sessione:
- La griglia degli eventi viene aggiornata per visualizzare gli eventi acquisiti della sessione selezionata.
- Le azioni della barra degli strumenti operano sulla sessione selezionata.
Esportare eventi acquisiti
È possibile esportare gli eventi acquisiti da una sessione di profilatura in un file CSV per la revisione o la condivisione offline.
Selezionare Esporta in CSV dalla barra degli strumenti. L'esportazione è disponibile se la sessione è in esecuzione, sospesa o arrestata.
Scegliere un percorso e un nome file per il file CSV.
Il file esportato contiene gli eventi attualmente visibili nella griglia della sessione.
Aprire un file XEL esistente
È possibile aprire ed esaminare i file di traccia degli eventi estesi acquisiti in precedenza (.xel) nella griglia di Query Profiler.
Aprire il riquadro comandi (CTRL+MAIUSC+P o CMD+MAIUSC+P).
Selezionare MSSQL: Aprire il file XEL del profiler....
Passare a e selezionare il
.xelfile che si vuole aprire.
Il file viene aperto in un pannello profiler di sola lettura. Gli eventi vengono caricati e visualizzati nella stessa griglia con funzionalità di filtro. I controlli Start, Pause e Stop non sono disponibili perché il file non è una sessione dinamica.
Scenari supportati
Query Profiler funziona con le destinazioni SQL Server e SQL di Azure seguenti:
| Obiettivo | Modelli supportati |
|---|---|
| SQL Server (locale, macchine virtuali, contenitori) | Standard_OnPrem, TSQL_OnPrem, TSQL_Locks, TSQL_Duration |
| Database SQL di Microsoft Azure | Standard_Azure |
Annotazioni
Se si seleziona un modello non supportato o si tenta una sessione a livello di server nel database SQL di Azure, Query Profiler visualizza un messaggio di errore di destinazione e suggerisce il modello appropriato.
Limitazioni
- Nessuna integrazione di IA o GitHub Copilot in questa anteprima.
- Nessuna correlazione tra database o tra server oltre gli eventi estesi e i modelli correnti.
- Nessun salvataggio o caricamento dei set di impostazioni di filtro.
- Nessuna riproduzione di tracce né generazione di script dagli eventi acquisiti.
- Nessuna analisi offline senza un file esistente
.xelo una connessione dinamica. - L'istanza gestita di SQL di Azure e il database SQL negli endpoint di Fabric non sono garantiti in questa anteprima.
Feedback e supporto
Se si hanno idee, commenti e suggerimenti o si vuole interagire con la community, partecipare alla discussione all'indirizzo https://aka.ms/vscode-mssql-discussions. Per segnalare un bug, visitare https://aka.ms/vscode-mssql-bug. Per richiedere una nuova funzionalità, passare a https://aka.ms/vscode-mssql-feature-request.
Contenuti correlati
- Guida introduttiva: Connettersi ed eseguire query su un database con l'estensione MSSQL per Visual Studio Code
- Estensione Copilot di GitHub per MSSQL per Visual Studio Code
- Progettista di schemi
- Confronto degli schemi
- Documentazione di Visual Studio Code
- Estensione MSSQL per il repository di Visual Studio Code in GitHub