Condividi tramite


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
Quali sono le funzioni del database 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 e @@PACKET_ERRORS indica il numero di pacchetti di rete trasferiti nelle connessioni SQL Server.
DBCC 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 Il "Advisor di Ottimizzazione del Motore di Database" analizza gli effetti sulle prestazioni delle istruzioni Transact-SQL eseguite sui database che si desidera ottimizzare. Database Engine Tuning Advisor fornisce consigli su come aggiungere, rimuovere o modificare indici, viste indicizzate e partizionamento.
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. Contiene informazioni sugli eventi in SQL Server che non sono disponibili altrove. Tali informazioni possono essere utilizzate per risolvere i problemi relativi a SQL Server.
Panoramica degli eventi estesi Extended Events è un sistema di monitoraggio delle prestazioni leggero che utilizza molto poche risorse di 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 correlate all'esecuzione Le DMV relative all'esecuzione consentono di controllare le informazioni relative all'esecuzione.
Statistiche delle query in tempo reale 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.
Monitorare l'utilizzo delle risorse (Monitor prestazioni) 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à in SQL Server Management Studio (SSMS) 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
Dashboard prestazioni Il dashboard delle prestazioni in SQL Server Management Studio consente di identificare rapidamente se è presente un collo di bottiglia delle prestazioni corrente in SQL Server.
Aggiornare i database tramite l’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.
Monitorare le prestazioni tramite Query Store La funzionalità Archivio query fornisce una panoramica sulla scelta del piano di query e sulle prestazioni. Semplifica la risoluzione dei problemi di prestazioni in quanto consente di individuare rapidamente le variazioni delle prestazioni causate da modifiche nei piani di query. Query Store acquisisce automaticamente una cronologia delle query, dei piani e delle statistiche di esecuzione e le 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
sp_trace_generateevent
sp_trace_setevent
sp_trace_setfilter
sp_trace_setstatus
Panoramica di Riesecuzione distribuita di SQL Server 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 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.
Procedure di sistema memorizzate Le seguenti stored procedure di sistema di SQL Server offrono una potente alternativa per molte attività di monitoraggio.

sp_who:
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:
Restituisce informazioni snapshot sui blocchi, inclusi ID oggetto, ID indice, tipo di blocco e tipo di risorsa a cui è applicato il blocco.

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

sp_monitor:
Visualizza le statistiche, tra cui l'utilizzo della CPU, l'utilizzo di I/O e la quantità di tempo di inattività dall'ultima sp_monitor esecuzione.
Flag di tracciamento 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.

Scegliere 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 (strumento di analisi per SQL Server) Riesecuzione distribuita Monitoraggio del sistema Monitoraggio attività Transact-SQL Log degli errori Cruscotto delle Prestazioni
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 Uso di SSMS XEvent Profiler2 usando le stored procedure di sistema di SQL Server Profiler.

Strumenti di monitoraggio di Windows

I sistemi operativi Windows forniscono anche questi strumenti di monitoraggio.

Strumento Descrizione
Gestione attività Consente di visualizzare un riepilogo dei processi e delle applicazioni eseguite nel sistema.
Monitoraggio delle prestazioni Monitora le risorse di sistema.
Registro eventi applicazioni di Windows Visualizzare gli eventi dell'applicazione generati da SQL Server e da altre applicazioni.
Windows Firewall Windows Firewall dispone di funzionalità di monitoraggio del traffico bloccato e consentito.

Attenzione

Non usare la funzionalità Analizza catena di attesa negli strumenti di Gestione attività di Windows e Monitoraggio risorse per il sqlservr.exe processo. Questa funzionalità non è supportata per SQL Server e potrebbe causare eccezioni di runtime e dump del processo.

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