SQL Server Profiler

SQL Server Profiler è un'interfaccia completa per la creazione e la gestione di tracce e l'analisi e la riproduzione dei risultati delle tracce. Gli eventi vengono salvati in un file di traccia che è possibile analizzare o utilizzare in un momento successivo per riprodurre una serie specifica di passaggi allo scopo di diagnosticare un problema.

Nota importanteImportante

SQL Server Profiler verrà deprecato per le caratteristiche Trace Capture e Trace Replay del Motore di database. Queste funzionalità verranno supportate nella versione successiva di SQL Server, ma verranno in seguito rimosse. La versione specifica di SQL Server non è stata determinata. Anche lo spazio dei nomi Microsoft.SqlServer.Management.Trace che contiene gli oggetti Trace e Replay di Microsoft SQL Server verranno deprecati. Si noti che SQL Server Profiler per i carichi di lavoro di Analysis Services non verrà deprecato, e continuerà a essere supportato.

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

Funzionalità\Carico di lavoro di destinazione

Motore relazionale

Analysis Services

Acquisizione traccia

Interfaccia utente grafica degli eventi estesi in SQL Server Management Studio

SQL Server Profiler

Trace Replay

Distributed Replay

SQL Server Profiler

Vantaggi di SQL Server Profiler

Microsoft SQL Server Profiler è un'interfaccia utente grafica della funzionalità 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 utilizzato per attività quali:

  • 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 hanno causato 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 Ottimizzazione guidata motore di database.

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

SQL Server Profiler supporta inoltre 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 di base su SQL Server Profiler

Per utilizzare SQL Server Profiler, è necessario conoscere il significato dei termini che descrivono la modalità di funzionamento dello strumento.

[!NOTA]

Quando si utilizza SQL Server Profiler, è utile comprendere la funzionalità Traccia SQL. Per ulteriori informazioni, vedere Traccia SQL.

  • Evento
    Un evento è un'azione generata all'interno di un'istanza di 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 registrato nel log degli 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.

  • Classe dievento
    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. Sono esempi di classi di evento:

    • SQL:BatchCompleted

    • Audit Login

    • Audit Logout

    • Lock:Acquired

    • Lock:Released

  • Categoria di eventi
    Una categoria di eventi definisce la modalità con la quale gli eventi vengono raggruppati all'interno di SQL Server Profiler. Ad esempio, tutte le classi degli eventi di blocco sono raggruppate nella categoria Blocchi. Le categorie di eventi sono tuttavia disponibili soltanto in SQL Server Profiler. Il termine non si applica alla modalità di raggruppamento degli eventi del motore.

  • Colonna di dati
    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 è 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 e specificare gli eventi, le colonne di dati e i filtri da utilizzare. I modelli non vengono eseguiti, ma salvati in un 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, State e 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.

    Sono disponibili due metodi per tracciare un'istanza di SQL Server, ovvero tramite SQL Server Profiler oppure 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 dell'attività

Argomento

Vengono elencati i modelli predefiniti forniti in SQL Server per esaminare determinati tipi di 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 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 le dimensioni massime di un file di traccia (SQL Server Profiler)

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 del processo server (SPID) in una traccia (SQL Server Profiler)

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 in corrispondenza di 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 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

Vengono elencate le stored procedure di sistema utilizzate da SQL Server Profiler per monitorare prestazioni e attività.

Stored procedure di SQL Server Profiler (Transact-SQL)

Vedere anche

Concetti

Categoria di eventi Blocchi

Categoria di eventi Sessioni

Categoria di eventi Stored procedure

Categoria di eventi TSQL

SQL Server Profiler

Monitoraggio delle prestazioni e dell'attività del server