Strumenti per il monitoraggio e l'ottimizzazione delle prestazioni
Microsoft SQL Server offre un insieme completo di strumenti per il monitoraggio degli 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 |
---|---|
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 i dati di SQL Server Profiler in un file o in una tabella SQL Server per poterli analizzare in seguito, nonché riprodurre gli eventi acquisiti in SQL Server passaggio per passaggio, per comprendere in modo approfondito cosa sia avvenuto. |
|
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. Monitor 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 valori di soglia per contatori specifici allo scopo di generare avvisi per la notifica agli operatori. Monitor 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 Monitor di sistema consiste nel fatto che SQL Server Profiler esegue il monitoraggio degli eventi del Motore di database, mentre Monitor di sistema esegue il monitoraggio dell'utilizzo delle risorse associate ai processi del server. |
Procedura: Apertura di Monitor attività (SQL Server Management Studio) |
Monitor attività di SQL Server Management Studio consente di visualizzare in formato grafico informazioni relative a:
Si tratta di uno strumento utile per la visualizzazione ad hoc di informazioni sull'attività in corso. |
Stored procedure di Transact-SQL che consentono di creare, filtrare e definire la creazione della traccia: |
|
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. |
|
Le stored procedure di sistema di SQL Server seguenti offrono una potente alternativa per molte attività di monitoraggio:
Stored procedureDescrizione
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.
|
|
Le istruzioni DBCC (Database Console Command) consentono di controllare le statistiche relative alle prestazioni e la consistenza logica e fisica di un database. |
|
Le funzionalità 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. |
|
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. |
|
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. |
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à |
SQL Server Profiler |
Monitor di sistema |
Monitor attività |
Transact-SQL |
Log degli errori |
---|---|---|---|---|---|
Analisi delle tendenze |
Sì |
Sì |
|
|
|
Riproduzione di eventi acquisiti |
Sì |
|
|
|
|
Monitoraggio ad hoc |
Sì |
|
Sì |
Sì |
Sì |
Generazione di avvisi |
|
Sì |
|
|
|
Interfaccia grafica |
Sì |
Sì |
Sì |
|
Sì |
Utilizzo con applicazioni personalizzate |
Sì 1 |
|
|
Sì |
|
1 Utilizzando 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 seguenti:
Strumento |
Descrizione |
---|---|
Task Manager |
Visualizza un riepilogo dei processi e delle applicazioni in esecuzione 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.