Strumenti per il monitoraggio e l'ottimizzazione delle prestazioni

Si applica a:SQL Server

Microsoft SQL Server include un set completo di strumenti per il monitoraggio di eventi in SQL Server e per l'ottimizzazione della progettazione fisica del database. La scelta dello strumento dipende dal tipo di monitoraggio o di ottimizzazione da eseguire e dagli eventi specifici da monitorare.

Di seguito sono elencati gli strumenti di monitoraggio e ottimizzazione di SQL Server:

Strumento Descrizione
Funzioni predefinite (Transact-SQL) Le funzioni predefinite consentono di visualizzare informazioni statistiche snapshot sull'attività di SQL Server dall'avvio del server. Questi dati statistici vengono archiviati in contatori di SQL Server predefiniti. Ad esempio, @@CPU_BUSY indica la quantità di tempo dedicata dalla CPU all'esecuzione di codice SQL Server, @@CONNECTIONS indica il numero di connessioni o tentativi di connessione a SQL Server, @@PACKET_ERRORSindica il numero di pacchetti di rete trasferiti nelle connessioni SQL Server.
DBCC (Transact-SQL) Le istruzioni DBCC (Database Console Command) consentono di controllare le statistiche relative alle prestazioni e la consistenza logica e fisica di un database.
Ottimizzazione guidata motore di database (DTA) Ottimizzazione guidata motore di database analizza gli effetti delle prestazioni delle istruzioni di Transact-SQL eseguite sui database che si desidera ottimizzare. Ottimizzazione guidata motore di database offre consigli relativi ad aggiunta, rimozione o modifica di indici, viste indicizzate e partizionamento.
Database Experimentation Assistant Database Experimentation Assistant è una nuova soluzione di test A/B per SQL Server. Assiste nella valutazione di una versione di destinazione di motore di database SQL per un determinato carico di lavoro. Durante l'aggiornamento da versioni precedenti di SQL Server, a partire da SQL Server 2005 (9.x), a qualsiasi versione più recente di SQL Server, Database Experimentation Assistant sarà in grado di fornire metriche per l'analisi comparata.
Log degli errori Il registro eventi applicazioni di Windows offre una panoramica complessiva degli eventi generati in Windows Server e nei sistemi operativi Windows, nonché degli eventi di SQL Server, SQL Server Agent e di ricerca full-text. Questo registro contiene informazioni sugli eventi di SQL Server non disponibili in altro modo. Tali informazioni possono essere utilizzate per risolvere i problemi relativi a SQL Server.
Eventi estesi Si tratta di un sistema di monitoraggio delle prestazioni leggero in cui vengono utilizzate poche risorse per le prestazioni. Per gli eventi estesi sono disponibili tre interfacce utente grafiche, ovvero Creazione guidata nuova sessione, Nuova sessione e Profiler XE, per creare, modificare, visualizzare e analizzare i dati della sessione.
Funzioni e viste a gestione dinamica relative all'esecuzione (Transact-SQL) LE DMV consentono di controllare informazioni relative all'esecuzione.
Statistiche sulle query dinamiche (LQS) Visualizza statistiche in tempo reale relative ai passaggi per l'esecuzione di query. Dal momento che i dati sono disponibili durante l'esecuzione della query, queste statistiche di esecuzione sono estremamente utili per il debug di problemi relativi alle prestazioni delle query.
Monitoraggio dell'utilizzo delle risorse (Monitor di sistema) Monitor di sistema tiene traccia principalmente dell'utilizzo delle risorse, ad esempio il numero corrente di richieste di pagine a Gestione buffer, consentendo di monitorare le prestazioni e l'attività del server tramite oggetti e contatori predefiniti o contatori definiti dall'utente per il monitoraggio degli eventi. Monitoraggio di sistema, Performance Monitor in Microsoft Windows NT 4.0, raccoglie misurazioni e valori piuttosto che dati sugli eventi, ad esempio l'utilizzo della memoria, il numero di transazioni attive, il numero di blocchi bloccati o l'attività della CPU. È possibile impostare le soglie per contatori specifici allo scopo di generare avvisi per la notifica agli operatori.

Monitoraggio di sistema funziona con Microsoft Windows Server e i sistemi operativi Windows. Questo strumento consente di monitorare, in remoto o in locale, un'istanza di SQL Server in Windows NT 4.0 o versioni successive.

La principale differenza tra SQL Server Profiler e Monitoraggio di sistema consiste nel fatto che SQL Server Profiler esegue il monitoraggio degli eventi del Motore di database, mentre Monitoraggio di sistema esegue il monitoraggio dell'utilizzo delle risorse associate ai processi del server.
Aprire Monitoraggio attività (SQL Server Management Studio) Monitoraggio attività di SQL Server Management Studio è utile per le viste ad hoc dell'attività corrente e consente di visualizzare in formato grafico informazioni relative a:

- Processi in esecuzione in un'istanza di SQL Server
- Processi bloccati
- Blocchi
- Attività degli utenti
Performance Dashboard Performance Dashboard in SQL Server Management Studio consente di rilevare rapidamente la presenza di eventuali colli di bottiglia delle prestazioni in SQL Server.
Assistente ottimizzazione query La funzionalità Assistente ottimizzazione query (QTA, Query Tuning Assistant) assiste gli utenti nel flusso di lavoro consigliato per garantire la stabilità delle prestazioni durante l'aggiornamento alle versioni più recenti di SQL Server, come documentato nella sezione Mantenere la stabilità delle prestazioni durante l'aggiornamento alla nuova versione di SQL Server di Scenari di utilizzo di Query Store.
Archivio query La funzionalità Archivio query mostra informazioni dettagliate sulle prestazioni e sulla scelta del piano di query. Semplifica la risoluzione dei problemi di prestazioni in quanto consente di individuare rapidamente le variazioni delle prestazioni causate da modifiche nei piani di query. Archivio query acquisisce automaticamente una cronologia delle query, dei piani e delle statistiche di runtime e li conserva per la consultazione. I dati vengono separati in base a intervalli di tempo, consentendo di visualizzare i modelli di utilizzo del database e capire quando sono state apportate modifiche al piano di query nel server.
Traccia SQL Stored procedure di Transact-SQL che consentono di creare, filtrare e definire la creazione della traccia:

sp_trace_create (Transact-SQL)
sp_trace_generateevent (Transact-SQL)
sp_trace_setevent (Transact-SQL)
sp_trace_setfilter (Transact-SQL)
sp_trace_setstatus (Transact-SQL)
SQL Server Distributed Replay In Riesecuzione distribuita di Microsoft SQL Server è possibile usare più computer per riprodurre dati di traccia e simulare un carico di lavoro di importanza critica.
sp_trace_setfilter (Transact-SQL) SQL Server Profiler tiene traccia degli eventi di elaborazione del motore, ad esempio l'avvio di un batch o di una transazione, consentendo di monitorare l'attività del server e del database, ad esempio deadlock, errori irreversibili o attività di accesso. È possibile acquisire dati di SQL Server Profiler in un file o una tabella di SQL Server per poterli analizzare in seguito, nonché riprodurre gli eventi acquisiti in SQL Server passaggio per passaggio e determinare con esattezza quali eventi hanno avuto luogo.
Stored procedure di sistema (Transact-SQL) Le stored procedure di sistema di SQL Server seguenti offrono una potente alternativa per molte attività di monitoraggio:

sp_who (Transact-SQL):
Visualizza informazioni snapshot sugli utenti e i processi correnti di SQL Server, incluse indicazioni sull'istruzione in esecuzione e sull'eventuale blocco dell'istruzione.

sp_lock (Transact-SQL):
Restituisce informazioni snapshot sui blocchi, inclusi ID oggetto, ID indice, tipo di blocco e tipo di risorsa a cui è applicato il blocco.

sp_spaceused (Transact-SQL):
Visualizza una stima della quantità corrente di spazio su disco utilizzato da una tabella o da un intero database.

sp_monitor (Transact-SQL):
Visualizza statistiche, tra cui utilizzo della CPU, utilizzo delle risorse di I/O e quantità di tempo inattivo dopo l'ultima esecuzione di sp_monitor .
Flag di traccia (Transact-SQL) I flag di traccia consentono di visualizzare informazioni su un'attività specifica del server e vengono utilizzati per la diagnostica di problemi o inconvenienti relativi alle prestazioni, ad esempio catene di deadlock.

Scelta di uno strumento di monitoraggio

La scelta dello strumento di monitoraggio dipende dall'evento o dall'attività che si desidera monitorare.

Evento o attività Eventi estesi SQL Server Profiler Riesecuzione distribuita Monitoraggio del sistema Monitoraggio attività Transact-SQL Log degli errori Performance Dashboard
Analisi delle tendenze
Riproduzione di eventi acquisiti Sì (da un singolo computer) Sì (da più computer)
Monitoraggio ad hoc 1
Generazione di avvisi
Interfaccia grafica
Utilizzo con applicazioni personalizzate 2

1 Usare il profiler XEvent di SQL Server Management Studio
2 Usare le stored procedure di sistema di SQL Server Profiler.

Strumenti di monitoraggio di Windows

Nei sistemi operativi Windows e in Windows Server 2003 sono inoltre disponibili gli strumenti di monitoraggio indicati di seguito.

Strumento Descrizione
Gestione attività Consente di visualizzare un riepilogo dei processi e delle applicazioni eseguite nel sistema.
Agente Network Monitor Esegue il monitoraggio del traffico di rete.

Per ulteriori informazioni sugli strumenti di Windows Server o dei sistemi operativi Windows, consultare la documentazione di Windows.