SQL Server Profiler

Si applica a:SQL ServerIstanza gestita di SQL di Azure

SQL Server Profiler è un'interfaccia per la creazione e la gestione di tracce e per l'analisi e la riproduzione dei risultati di tali tracce. Gli eventi vengono salvati in un file di traccia che può essere analizzato o usato successivamente per riprodurre una serie specifica di passaggi allo scopo di diagnosticare un problema.

Importante

Traccia SQL e SQL Server Profiler sono deprecati. Anche lo spazio dei nomi Microsoft.SqlServer.Management.Trace che contiene gli oggetti Trace e Replay di Microsoft SQL Server è deprecato.

Questa funzionalità verrà rimossa nelle versioni future di SQL Server. Evitare di usare questa funzionalità in un nuovo progetto di sviluppo e prevedere interventi di modifica nelle applicazioni in cui è attualmente implementata.

In alternativa, usare Eventi estesi. Per altre informazioni sugli eventi estesi, vedere Avvio rapido: Eventi estesi in SQL Server e Profiler XEvent di SSMS.

Nota

I carichi di lavoro di SQL Server Profiler per Analysis Services sono supportati.

Nota

Quando si tenta di connettersi a un database SQL di Azure da SQL Server profiler, viene generato erroneamente un messaggio di errore fuorviante come indicato di seguito:

  • Per eseguire una traccia su SQL Server, è necessario essere un membro del ruolo predefinito del server sysadmin o disporre dell'autorizzazione ALTER TRACE.

Il messaggio dovrebbe spiegare che il database SQL di Azure non è supportato da SQL Server Profiler.

Dove si trova il Profiler?

È possibile avviare Profiler all'interno di SQL Server Management Studio o con Azure Data Studio usando l'estensione SQL Server Profiler.

Acquisire e riprodurre i dati di traccia

Nella tabella seguente vengono mostrate le funzionalità che si consiglia di usare in SQL Server per acquisire e riprodurre i dati di traccia.

Funzionalità\Carico di lavoro di destinazione Motore relazionale Analysis Services
Acquisizione traccia Interfaccia utente grafica deglieventi estesi in SQL Server Management Studio SQL Server Profiler
Riproduzione della traccia Riesecuzione distribuita SQL Server Profiler

Usare SQL Server Profiler

Microsoft SQL Server Profiler è un'interfaccia utente grafica di Traccia SQL che consente di monitorare un'istanza del motore di database o di Analysis Services. È possibile acquisire e salvare i dati di ogni evento in un file o in una tabella per operazioni di analisi successive. È ad esempio possibile monitorare un ambiente di produzione per verificare quali stored procedure hanno effetto sulle prestazioni a causa di un'esecuzione troppo lenta. SQL Server Profiler viene usato per attività come:

  • Esecuzione dei singoli passaggi di query problematiche allo scopo di individuare la causa del problema.

  • Individuazione e diagnosi di query con esecuzione rallentata.

  • Acquisizione della serie di istruzioni Transact-SQL che ha generato un problema. La traccia salvata può essere quindi utilizzata per replicare il problema in un server di prova nel quale è possibile eseguire la diagnosi.

  • Monitoraggio delle prestazioni di SQL Server per l'ottimizzazione dei carichi di lavoro. Per informazioni sull'ottimizzazione della progettazione fisica del database per i carichi di lavoro del database, vedere Database Engine Tuning Advisor.

  • Correlazione dei contatori delle prestazioni per la diagnosi dei problemi.

SQL Server Profiler supporta anche il controllo delle azioni eseguite sulle istanze di SQL Server. I controlli registrano le azioni relative alla sicurezza per un'analisi successiva da parte di un amministratore della sicurezza.

Concetti relativi a SQL Server Profiler

Per usare SQL Server Profiler, è necessario conoscere il significato dei termini che descrivono come funziona lo strumento.

Nota

Quando si usa SQL Server Profiler è utile comprendere il funzionamento di Traccia SQL. Per altre informazioni, vedere SQL Trace.

Event

Un evento è un'azione generata all'interno di un'istanza del motore di database di SQL Server. Sono esempi di eventi:

  • Connessioni, errori di connessione e disconnessioni.
  • Istruzioni Transact-SQL SELECT, INSERT, UPDATE e DELETE.
  • Stato di batch RPC (Remote Procedure Call).
  • Inizio o fine di una stored procedure.
  • Inizio o fine delle istruzioni contenute nelle stored procedure.
  • Inizio o fine di un batch SQL.
  • Errore scritto nel log dei errori di SQL Server.
  • Blocco acquisito o rilasciato su un oggetto di database.
  • Cursore aperto.
  • Controlli delle autorizzazioni di sicurezza.

Tutti i dati generati da un evento vengono visualizzati in un'unica riga della traccia. La riga è intersecata da colonne di dati che riportano una descrizione dettagliata dell'evento.

EventClass

Una classe di evento è un tipo di evento che è possibile tracciare. La classe di evento contiene tutti i dati che un evento può segnalare. Sono esempi di classi di evento:

  • SQL:BatchCompleted
  • Audit Login
  • Audit Logout
  • Blocco: acquisito
  • Blocco: rilasciato

EventCategory

Una categoria di eventi definisce il modo in cui gli eventi vengono raggruppati all'interno di SQL Server Profiler. Ad esempio, tutte le classi di evento lock vengono raggruppate all'interno della categoria di eventi Locks . Tuttavia, le categorie di eventi esistono solo all'interno di SQL Server Profiler. Questo termine non rispecchia la modalità di raggruppamento degli eventi del motore.

DataColumn

Una colonna di dati è un attributo di una classe di evento acquisita nella traccia. Poiché la classe di evento determina il tipo di dati che è possibile raccogliere, non è possibile applicare tutte le colonne di dati a tutte le classi. Ad esempio, in una traccia che acquisisce la classe di evento Lock: Acquired , la colonna di dati BinaryData contiene il valore dell'ID o della riga di pagina bloccata, ma la colonna di dati Integer Data non contiene alcun valore perché non è applicabile alla classe di evento acquisita.

Modello

Un modello consente di definire la configurazione predefinita per una traccia. In particolare, include le classi di evento di cui si desidera eseguire il monitoraggio con SQL Server Profiler. Ad esempio, è possibile creare un modello che specifica gli eventi, le colonne di dati e i filtri. Un modello non viene eseguito ma viene salvato come file con estensione tdf. Dopo il salvataggio, i modelli consentono di controllare i dati di traccia acquisiti quando viene avviata una traccia basata sul modello.

Traccia

Una traccia consente di acquisire i dati in base alle classi di eventi, alle colonne di dati e ai filtri selezionati. È ad esempio possibile creare una traccia per il monitoraggio delle eccezioni. A tale scopo, selezionare la classe di evento Exception e le colonne di dati Error, Statee Severity . Affinché i risultati della traccia includano dati significativi, è necessario raccogliere i dati di queste tre colonne. È quindi possibile eseguire una traccia configurata in tale modo e raccogliere i dati in tutti gli eventi Exception che si verificano nel server. I dati di traccia possono essere salvati o utilizzati immediatamente per attività di analisi. Le tracce possono essere riprodotte in un secondo momento, sebbene alcuni eventi, quali quelli Exception , non vengano mai riprodotti. È inoltre possibile salvare la traccia come modello e compilare tracce simili in futuro.

SQL Server prevede due metodi per tracciare un'istanza di SQL Server, ovvero tramite SQL Server Profiler oppure con stored procedure di sistema.

Filtro

Quando si crea una traccia o un modello, è possibile definire i criteri per applicare un filtro ai dati acquisiti dall'evento. Per impedire che le tracce assumano dimensioni eccessive, è possibile filtrarle in modo da raccogliere solo un subset dei dati di evento. È, ad esempio, possibile limitare i nomi utenti di Microsoft Windows della traccia a utenti specifici, riducendo in tal modo la dimensione dei dati di output.

Se non si imposta un filtro, tutti gli eventi delle classi di evento selezionate vengono restituiti nell'output di traccia.

Attività di SQL Server Profiler

Descrizione attività Argomento
Elenca i modelli predefiniti forniti da SQL Server per il monitoraggio di determinati tipi di eventi e le autorizzazioni necessarie per l'uso per riprodurre le tracce. Modelli e autorizzazioni di SQL Server Profiler
Viene illustrato come eseguire SQL Server Profiler. Autorizzazioni necessarie per l'esecuzione di SQL Server Profiler
Viene illustrato come creare una traccia. Creare una traccia (SQL Server Profiler)
Viene illustrato come specificare eventi e colonne di dati per un file di traccia. Specificare eventi e colonne di dati per un file di traccia (SQL Server Profiler)
Viene illustrato come salvare i risultati della traccia in un file. Salvare i risultati della traccia in un file (SQL Server Profiler)
Viene illustrato come salvare i risultati della traccia in una tabella. Salvare i risultati della traccia in una tabella (SQL Server Profiler)
Viene illustrato come filtrare gli eventi in una traccia. Filtrare eventi in una traccia (SQL Server Profiler)
Viene illustrato come visualizzare informazioni sui filtri. Visualizzare informazioni sui filtri (SQL Server Profiler)
Viene illustrato come modificare un filtro. Modificare un filtro (SQL Server Profiler)
Viene illustrato come impostare le dimensioni massime di un file di traccia (SQL Server Profiler). Impostare una dimensione massima del file per un file di traccia (SQL et al. )
Viene illustrato come impostare le dimensioni massime di una tabella di traccia. Impostare le dimensioni massime di una tabella di traccia (SQL Server Profiler)
Viene illustrato come avviare una traccia. Avviare una traccia
Viene illustrato come avviare automaticamente una traccia dopo la connessione a un server. Avviare una traccia automaticamente dopo la connessione a un server (SQL Server Profiler)
Viene illustrato come filtrare gli eventi in base all'ora di inizio. Filtrare gli eventi in base all'ora di inizio (SQL Server Profiler)
Viene illustrato come filtrare gli eventi in base all'ora di fine. Filtrare eventi in base all'ora di fine (SQL Server Profiler)
Viene illustrato come filtrare gli ID del processo server (SPID) in una traccia. Filtrare gli ID dei processi server (SPID) in una traccia (SQL et al. )
Viene illustrato come sospendere una traccia. Sospendere una traccia (SQL Server Profiler)
Viene illustrato come arrestare una traccia. Arrestare una traccia (SQL Server Profiler)
Viene illustrato come eseguire una traccia dopo la sospensione o l'arresto. Eseguire una traccia dopo la sospensione o l'arresto (SQL Server Profiler)
Viene illustrato come cancellare il contenuto di una finestra di traccia. Cancellare il contenuto di una finestra di traccia (SQL Server Profiler)
Viene illustrato come chiudere una finestra di traccia. Chiudere una finestra di traccia (SQL Server Profiler)
Viene illustrato come impostare i valori predefiniti per la definizione della traccia. Impostare i valori predefiniti per una definizione di traccia (SQL Server Profiler)
Viene illustrato come impostare i valori predefiniti per la visualizzazione della traccia. Impostare i valori predefiniti per la visualizzazione delle tracce (SQL Server Profiler)
Viene illustrato come aprire un file di traccia. Aprire un file di traccia (SQL Server Profiler)
Viene illustrato come aprire una tabella di traccia. Aprire una tabella di traccia (SQL Server Profiler)
Viene illustrato come riprodurre una tabella di traccia. Riprodurre una tabella di traccia (SQL Server Profiler)
Viene illustrato come riprodurre un file di traccia. Riprodurre un file di traccia (SQL Server Profiler)
Viene illustrato come riprodurre un solo evento alla volta. Riprodurre un solo evento alla volta (SQL Server Profiler)
Viene illustrato come eseguire la riproduzione fino a un punto di interruzione. Riprodurre fino a un punto di interruzione (SQL Server Profiler)
Viene illustrato come eseguire la riproduzione in corrispondenza di un cursore. Riprodurre fino a un cursore (SQL Server Profiler)
Viene illustrato come riprodurre uno script Transact-SQL. Riprodurre uno script Transact-SQL (SQL Server Profiler)
Viene illustrato come creare un modello di traccia. Creare un modello di traccia (SQL Server Profiler)
Viene illustrato come modificare un modello di traccia. Modificare un modello di traccia (SQL Server Profiler)
Viene illustrato come impostare le opzioni di traccia globali. Impostare opzioni di traccia globali (SQL Server Profiler)
Viene illustrato come trovare un valore o una colonna di dati durante l'esecuzione di una traccia. Trovare un valore o una colonna di dati durante l'esecuzione di una traccia (SQL Server Profiler)
Viene illustrato come creare un modello basato su una traccia in esecuzione. Ottenere un modello da una traccia in esecuzione (SQL Server Profiler)
Viene illustrato come derivare un modello da un file o tabella di traccia. Derivare un modello da un file di traccia o da una tabella di traccia (SQL Server Profiler)
Viene illustrato come creare uno script Transact-SQL per l'esecuzione di una traccia. Creare uno script Transact-SQL per l'esecuzione di una traccia (SQL Server Profiler)
Viene illustrato come esportare un modello di traccia. Esportare un modello di traccia (SQL Server Profiler)
Viene illustrato come importare un modello di traccia. Importare un modello di traccia (SQL Server Profiler)
Viene illustrato come estrarre uno script da una traccia. Estrarre uno script da una traccia (SQL Server Profiler)
Viene illustrato come eseguire la correlazione tra una traccia e i dati dei log delle prestazioni di Windows. Correlare una traccia e i dati dei registri di prestazioni di Windows (SQL Server Profiler)
Viene illustrato come organizzare le colonne visualizzate in una traccia. Organizzare le colonne visualizzate in una traccia (SQL Server Profiler)
Viene illustrato come avviare SQL Server Profiler. Avviare SQL Server Profiler
Viene illustrato come salvare tracce e modelli di traccia. Salvare tracce e modelli di traccia
Viene illustrato come modificare i modelli di traccia. Modificare modelli di traccia
Viene illustrato come eseguire la correlazione tra una traccia e i dati dei log delle prestazioni di Windows. Correlare una traccia con i dati del log delle prestazioni di Windows
Viene illustrato come visualizzare e analizzare tracce con SQL Server Profiler. Visualizzare e analizzare le tracce con SQL Server Profiler
Viene illustrato come visualizzare e analizzare i deadlock con SQL Server Profiler. Analizzare deadlock con SQL Server Profiler
Viene illustrato come analizzare query con risultati SHOWPLAN in SQL Server Profiler. Analizzare query con risultati SHOWPLAN in SQL Server Profiler
Viene illustrato come filtrare tracce con SQL Server Profiler. Filtrare le tracce tramite SQL Server Profiler
Viene illustrato come utilizzare le funzionalità di riproduzione di SQL Server Profiler. Riprodurre le tracce
Vengono elencati gli argomenti della Guida sensibile al contesto di SQL Server Profiler. Guida sensibile al contesto di SQL Server Profiler
Elenca le stored procedure di sistema usate da SQL Server Profiler per monitorare prestazioni e attività. Stored procedure di SQL Server Profiler (Transact-SQL)