Condividi tramite


SQL Server Profiler (strumento di analisi per SQL Server)

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 è possibile analizzare o usare in un secondo momento per riprodurre una serie specifica di passaggi durante la diagnosi di un problema.

Quando si prova a connettersi a un database SQL di Azure da SQL Server Profiler, viene erroneamente generato un messaggio di errore fuorviante come segue:

To run a trace against SQL Server, you must be a sysadmin fixed server role member or have the ALTER TRACE permission.

Il messaggio deve indicare che il database SQL di Azure non è supportato da SQL Server Profiler.

Avviso di deprecazione

Importante

SQL Trace e Profiler di SQL Server sono obsoleti. Usare invece Eventi Estesi. 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.

Il Microsoft.SqlServer.Management.Trace spazio dei nomi che contiene gli oggetti Trace e Replay di SQL Server è deprecato. Tuttavia, sono supportati i carichi di lavoro per Analysis Services.

Per altre informazioni sugli eventi estesi, vedere gli articoli seguenti:

Dov'è il Profiler?

È possibile avviare profiler all'interno di Esegui SQL Server Profiler.

Acquisire e riprodurre i dati di traccia

La tabella seguente illustra le funzionalità che è possibile usare in SQL Server per acquisire e riprodurre i dati di traccia.

Funzionalità/carico di lavoro di destinazione Motore relazionale Analysis Services
Acquisizione di tracce Panoramica degli eventi estesi interfaccia utente grafica in SQL Server Management Studio SQL Server Profiler (strumento di analisi per SQL Server)
Riproduzione della traccia Informazioni generali sulla Riesecuzione distribuita di SQL Server SQL Server Profiler (strumento di analisi per SQL Server)

Usare SQL Server Profiler

Microsoft SQL Server Profiler è un'interfaccia utente grafica per SQL Trace che consente di monitorare un'istanza del motore del 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. Usare SQL Server Profiler per attività come:

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

  • Individuazione e diagnosi delle query a esecuzione lenta.

  • Acquisizione della serie di istruzioni Transact-SQL che hanno portato a un problema. La traccia salvata può quindi 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.

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

Evento

Un evento è un'azione generata all'interno di un'istanza del motore di database di SQL Server. Esempi di questi eventi includono:

  • Connessioni di accesso, fallimenti e disconnessioni.
  • Istruzioni Transact-SQL SELECT, INSERT, UPDATE e DELETE.
  • Stato del batch di chiamate di procedura remota (RPC).
  • L'inizio o la fine di una procedura memorizzata.
  • Inizio o fine delle istruzioni contenute nelle procedure memorizzate.
  • 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. Colonne di dati che descrivono l'evento in dettaglio intersecano questa riga.

EventClass

Una classe di evento è un tipo di evento che è possibile tracciare. La classe di evento contiene tutti i dati che possono essere restituiti da un evento. L'elenco seguente mostra esempi di classi di evento:

  • SQL:BatchCompleted
  • Verifica di accesso
  • Controlla disconnessione
  • Blocco: Acquisito
  • Blocco: Rilasciato

CategoriaEvento

Una categoria di eventi definisce il modo in cui SQL Server Profiler raggruppa gli eventi. Ad esempio, la categoria di eventi Locks raggruppa tutte le classi di evento lock. Tuttavia, le categorie di eventi esistono solo all'interno di SQL Server Profiler. Questo termine non riflette il modo in cui vengono raggruppati gli 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. In una traccia che acquisisce la classe di evento Lock:Acquired, ad esempio, la colonna di dati BinaryData contiene il valore dell'ID o della riga della pagina bloccata, mentre la colonna di dati IntegerData non contiene alcun valore perché non si applica 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 e specificare gli eventi, le colonne di dati e i filtri da utilizzare. Non è possibile eseguire direttamente un modello. Al contrario, è possibile salvarlo 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. Selezioni la classe di evento Exception e le colonne di dati Error, State e Severity. I risultati della traccia forniscono dati significativi solo se i dati vengono raccolti da queste tre colonne. È possibile eseguire una traccia configurata in questo modo e raccogliere dati su qualsiasi evento exception nel server. Salvare i dati di traccia o usarli immediatamente per l'analisi. È possibile riprodurre le tracce in un secondo momento, anche se alcuni eventi, ad esempio gli eventi Exception , non vengono mai riprodotti. È inoltre possibile salvare la traccia come modello e compilare tracce simili.

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 criteri per filtrare i dati raccolti dall'evento. Per evitare che le tracce diventino troppo grandi, filtrarle in modo da raccogliere solo un subset dei dati dell'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, l'output della traccia restituisce tutti gli eventi delle classi di evento selezionate.

Attività di SQL Server Profiler

Descrizione attività Articolo
Vengono elencati i modelli predefiniti forniti in SQL Server per esaminare certi eventi e le autorizzazioni richieste per la riproduzione delle tracce. Modelli e autorizzazioni di SQL Server Profiler
Viene illustrato come eseguire SQL Server Profiler. Autorizzazioni necessarie per eseguire 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 le informazioni sul filtro (SQL Server Profiler)
Descrive come modificare un filtro. Modificare un filtro (SQL Server Profiler)
Descrive come impostare una dimensione massima del file per un file di traccia (SQL Server Profiler). Impostare una dimensione massima del file di traccia (SQL Server Profiler).
Viene illustrato come impostare le dimensioni massime di una tabella di traccia. Impostare una dimensione massima della tabella per una tabella di traccia (SQL Server Profiler)
Viene illustrato come avviare una traccia. Avviare una traccia (SQL Server Profiler)
Viene illustrato come avviare automaticamente una traccia dopo la connessione a un server. Avviare automaticamente una traccia 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 dell'evento (SQL Server Profiler)
Viene illustrato come filtrare gli eventi in base all'ora di fine. Filtrare gli eventi in base all'ora di fine dell'evento (SQL Server Profiler)
Descrive come filtrare gli ID della sessione in un tracciato. Filtrare gli ID sessione in una traccia (SQL Server Profiler)
Descrive come sospendere una traccia. Sospendere la traccia (SQL Server Profiler)
Viene illustrato come arrestare una traccia. Fermare una traccia (SQL Server Profiler)
Viene illustrato come eseguire una traccia dopo la sospensione o l'arresto. Eseguire una traccia dopo che è stata sospesa o arrestata (SQL Server Profiler)
Viene illustrato come cancellare il contenuto di una finestra di traccia. Cancellare 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 le impostazioni predefinite per la definizione di traccia (SQL Server Profiler)
Viene illustrato come impostare i valori predefiniti per la visualizzazione della traccia. Impostare le impostazioni predefinite per la visualizzazione della traccia (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 tracce (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 singolo evento alla volta (SQL Server Profiler)
Viene illustrato come eseguire la riproduzione fino a un punto di interruzione. Riproduzione fino a un punto di interruzione (SQL Server Profiler)
Viene illustrato come eseguire la riproduzione in corrispondenza di un cursore. Ripetere verso un cursore (SQL Server Profiler)
Viene illustrato come riprodurre uno script Transact-SQL. Eseguire nuovamente 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 i modelli di traccia
Viene illustrato come impostare le opzioni di traccia globali. Impostare le 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 il monitoraggio (SQL Server Profiler)
Viene illustrato come creare un modello basato su una traccia in esecuzione. Derivare 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 con i dati del log delle prestazioni di Windows
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. Esegui il Profiler di SQL Server
Viene illustrato come salvare tracce e modelli di traccia. Salvare tracce e modelli di traccia
Viene illustrato come modificare i modelli di traccia. Modificare i 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 gli stalli con SQL Server Profiler
Viene illustrato come analizzare query con risultati SHOWPLAN in SQL Server Profiler. Analizzare le query con i risultati di SHOWPLAN in SQL Server Profiler
Viene illustrato come filtrare tracce con SQL Server Profiler. Filtrare le tracce con SQL Server Profiler
Viene illustrato come utilizzare le funzionalità di riproduzione di SQL Server Profiler. Riprodurre le tracce
Elenca gli articoli di aiuto contestuale di SQL Server Profiler. Guida F1 di SQL Server Profiler
Elenca le stored procedure di sistema usate da SQL Server Profiler per monitorare prestazioni e attività. Procedure memorizzate di SQL Server Profiler

Eventi estesi vs. Profiler di SQL Server

Panoramica degli eventi estesi e SQL Server Profiler sono strumenti per il monitoraggio e la risoluzione dei problemi relativi alle prestazioni di SQL Server. SQL Server Profiler è deprecato e deve essere usato solo con Analysis Services. Gli eventi estesi sono la sostituzione di SQL Server Profiler e offrono funzionalità avanzate di risoluzione dei problemi non disponibili altrove. Le differenze principali sono indicate qui per facilitare la migrazione da SQL Server Profiler a eventi estesi.

Strumento Eventi Estesi

Panoramica degli eventi estesi è un sistema di gestione degli eventi leggero, altamente scalabile e flessibile integrato in SQL Server.

Le sessioni di Eventi estesi in genere utilizzano meno risorse rispetto ad Analisi SQL e SQL Server Profiler, rendendole più adatte per gli ambienti di produzione. Gli eventi estesi supportano l'acquisizione di eventi disponibili nelle versioni moderne di SQL.

Al contrario, gli eventi disponibili in Analisi SQL/SQL Server Profiler sono invece limitati alle funzionalità disponibili in SQL Server 2008R2 e versioni precedenti. Gli eventi estesi offrono funzionalità di filtro superiori, un payload predefinito più piccolo e funzionalità non disponibili in Profiler, ad esempio destinazioni in memoria e aggregazione e supporto per più destinazioni.

Per altre informazioni sugli eventi estesi, vedere Panoramica degli eventi estesi.

Strumento SQL Server Profiler

SQL Server Profiler è un'interfaccia utente grafica che usa traccia SQL per acquisire attività per un'istanza di SQL Server o Analysis Services.

SQL Server Profiler può richiedere un uso intensivo delle risorse se configurato in modo non corretto, che influisce sulle prestazioni del server, soprattutto quando viene usato nei server di produzione. Include modelli predefiniti per supportare la traccia rapida.

In sintesi, anche se SQL Server Profiler è uno strumento meno recente che potrebbe essere familiare a molti utenti, gli eventi estesi sono un'alternativa moderna che offre prestazioni migliori, informazioni sugli eventi più dettagliate e funzionalità per la risoluzione dei problemi e il monitoraggio delle istanze di SQL Server non disponibili altrove. Grazie ai vantaggi di Profiler, gli eventi estesi sono consigliati per il nuovo lavoro di traccia e monitoraggio.