Strumenti per il monitoraggio e l'ottimizzazione delle prestazioniPerformance Monitoring and Tuning Tools

MicrosoftMicrosoft SQL ServerSQL Server include un set completo di strumenti per il monitoraggio di eventi in SQL ServerSQL Server e per l'ottimizzazione della progettazione fisica del database. SQL ServerSQL Server provides a comprehensive set of tools for monitoring events in SQL ServerSQL Server and for tuning the physical database design. La scelta dello strumento dipende dal tipo di monitoraggio o di ottimizzazione da eseguire e dagli eventi specifici da monitorare.The choice of tool depends on the type of monitoring or tuning to be done and the particular events to be monitored.

Di seguito sono elencati gli strumenti di monitoraggio e ottimizzazione di SQL ServerSQL Server :Following are the SQL ServerSQL Server monitoring and tuning tools:

StrumentoTool DescrizioneDescription
sp_trace_setfilter (Transact-SQL)sp_trace_setfilter (Transact-SQL) SQL Server ProfilerSQL 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. tracks engine process events, such as the start of a batch or a transaction, enabling you to monitor server and database activity (for example, deadlocks, fatal errors, or login activity). È possibile acquisire dati di SQL Server ProfilerSQL Server Profiler in un file o una tabella di SQL ServerSQL Server per poterli analizzare in seguito, nonché riprodurre gli eventi acquisiti in SQL ServerSQL Server passaggio per passaggio e determinare con esattezza quali eventi hanno avuto luogo.You can capture SQL Server ProfilerSQL Server Profiler data to a SQL ServerSQL Server table or a file for later analysis, and you can also replay the events captured on SQL ServerSQL Server step by step, to see exactly what happened.
SQL Server Distributed ReplaySQL Server Distributed Replay MicrosoftMicrosoft SQL ServerSQL Server In Distributed Replay è possibile usare più computer per riprodurre dati di traccia e simulare un carico di lavoro di importanza critica. SQL ServerSQL Server Distributed Replay can use multiple computers to replay trace data, simulating a mission-critical workload.
Monitoraggio dell'utilizzo delle risorse (Monitor di sistema)Monitor Resource Usage (System Monitor) 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.System Monitor primarily tracks resource usage, such as the number of buffer manager page requests in use, enabling you to monitor server performance and activity using predefined objects and counters or user-defined counters to monitor events. 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.System Monitor (Performance Monitor in Microsoft Windows NT 4.0) collects counts and rates rather than data about the events (for example, memory usage, number of active transactions, number of blocked locks, or CPU activity). È possibile impostare le soglie per contatori specifici allo scopo di generare avvisi per la notifica agli operatori.You can set thresholds on specific counters to generate alerts that notify operators.

Monitoraggio di sistema funziona con Microsoft Windows Server e i sistemi operativi Windows.System Monitor works on Microsoft Windows Server and Windows operating systems. Questo strumento consente di monitorare, in remoto o in locale, un'istanza di SQL ServerSQL Server in Windows NT 4.0 o versioni successive.It can monitor (remotely or locally) an instance of SQL ServerSQL Server on Windows NT 4.0 or later.

La principale differenza tra SQL Server ProfilerSQL Server Profiler e Monitoraggio di sistema consiste nel fatto che SQL Server ProfilerSQL 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.The key difference between SQL Server ProfilerSQL Server Profiler and System Monitor is that SQL Server ProfilerSQL Server Profiler monitors Database Engine events, whereas System Monitor monitors resource usage associated with server processes.
Aprire Monitoraggio attività (SQL Server Management Studio)Open Activity Monitor (SQL Server Management Studio) Monitoraggio attività di SQL Server Management StudioSQL Server Management Studio è utile per le viste ad hoc dell'attività corrente e consente di visualizzare in formato grafico informazioni relative a:The Activity Monitor in SQL Server Management StudioSQL Server Management Studio is useful for ad hoc views of current activity and graphically displays information about:

Processi in esecuzione in un'istanza di SQL ServerSQL Server.Processes running on an instance of SQL ServerSQL Server.

Processi bloccati.Blocked processes.

Blocchi.Locks.

Attività degli utenti.User activity.
Statistiche sulle query dinamicheLive Query Statistics Visualizza statistiche in tempo reale relative ai passaggi per l'esecuzione di query.Displays real-time statistics about query execution steps. 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.Because this data is available while the query is executing, these execution statistics are extremely useful for debugging query performance issues.
Traccia SQLSQL Trace Transact-SQLTransact-SQL Stored procedure che consentono di creare, filtrare e definire la creazione della traccia: stored procedures that create, filter, and define tracing:

sp_trace_create (Transact-SQL)sp_trace_create (Transact-SQL)

sp_trace_generateevent (Transact-SQL)sp_trace_generateevent (Transact-SQL)

sp_trace_setevent (Transact-SQL)sp_trace_setevent (Transact-SQL)

sp_trace_setfilter (Transact-SQL)sp_trace_setfilter (Transact-SQL)

sp_trace_setstatus (Transact-SQL)sp_trace_setstatus (Transact-SQL)
Log degli erroriError Logs 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 ServerSQL Server, SQL ServerSQL Server Agent e di ricerca full-text.The Windows application event log provides an overall picture of events occurring on the Windows Server and Windows operating systems as a whole, as well as events in SQL ServerSQL Server, SQL ServerSQL Server Agent, and full-text search. Questo registro contiene informazioni sugli eventi di SQL ServerSQL Server non disponibili in altro modo.It contains information about events in SQL ServerSQL Server that is not available elsewhere. Tali informazioni possono essere utilizzate per risolvere i problemi relativi a SQL ServerSQL Server.You can use the information in the error log to troubleshoot SQL ServerSQL Server-related problems.
Stored procedure di sistema (Transact-SQL)System Stored Procedures (Transact-SQL) Le stored procedure di sistema di SQL ServerSQL Server seguenti offrono una potente alternativa per molte attività di monitoraggio:The following SQL ServerSQL Server system stored procedures provide a powerful alternative for many monitoring tasks:

sp_who ( Transact-SQL ):sp_who (Transact-SQL):
Visualizza informazioni snapshot sugli utenti e i processi correnti di SQL ServerSQL Server, incluse indicazioni sull'istruzione in esecuzione e sull'eventuale blocco dell'istruzione.Reports snapshot information about current SQL ServerSQL Server users and processes, including the currently executing statement and whether the statement is blocked.

sp_lock (Transact-SQL):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.Reports snapshot information about locks, including the object ID, index ID, type of lock, and type or resource to which the lock applies.

sp_spaceused (Transact-SQL):sp_spaceused (Transact-SQL):
Visualizza una stima della quantità corrente di spazio su disco utilizzato da una tabella o da un intero database.Displays an estimate of the current amount of disk space used by a table (or a whole database).

sp_monitor (Transact-SQL):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 .Displays statistics, including CPU usage, I/O usage, and the amount of time idle since sp_monitor was last executed.
DBCC (Transact-SQL)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.DBCC (Database Console Command) statements enable you to check performance statistics and the logical and physical consistency of a database.
Funzioni predefinite (Transact-SQL)Built-in Functions (Transact-SQL) Le funzioni predefinite consentono di visualizzare informazioni statistiche snapshot sull'attività di SQL ServerSQL Server dall'avvio del server. Questi dati statistici vengono archiviati in contatori di SQL ServerSQL Server predefiniti.Built-in functions display snapshot statistics about SQL ServerSQL Server activity since the server was started; these statistics are stored in predefined SQL ServerSQL Server counters. Ad esempio, @@CPU_BUSY indica la quantità di tempo dedicata dalla CPU all'esecuzione di codice SQL ServerSQL Server, @@CONNECTIONS indica il numero di connessioni o tentativi di connessione a SQL ServerSQL Server e @@PACKET_ERRORS indica il numero di pacchetti di rete trasferiti nelle connessioni SQL ServerSQL Server.For example, @@CPU_BUSY contains the amount of time the CPU has been executing SQL ServerSQL Server code; @@CONNECTIONS contains the number of SQL ServerSQL Server connections or attempted connections; and @@PACKET_ERRORS contains the number of network packets occurring on SQL ServerSQL Server connections.
Flag di traccia (Transact-SQL)Trace Flags (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.Trace flags display information about a specific activity within the server and are used to diagnose problems or performance issues (for example, deadlock chains).
Ottimizzazione guidata motore di databaseDatabase Engine Tuning Advisor Ottimizzazione guidata motore di database analizza gli effetti delle prestazioni delle istruzioni di Transact-SQLTransact-SQL eseguite sui database che si desidera ottimizzare.Database Engine Tuning Advisor analyzes the performance effects of Transact-SQLTransact-SQL statements executed against databases you want to tune. Ottimizzazione guidata motore di database offre consigli relativi ad aggiunta, rimozione o modifica di indici, viste indicizzate e partizionamento.Database Engine Tuning Advisor provides recommendations to add, remove, or modify indexes, indexed views, and partitioning.

Scelta di uno strumento di monitoraggioChoosing a Monitoring Tool

La scelta dello strumento di monitoraggio dipende dall'evento o dall'attività che si desidera monitorare.The choice of a monitoring tool depends on the event or activity to be monitored.

Evento o attivitàEvent or activity SQL Server ProfilerSQL Server Profiler Distributed ReplayDistributed Replay Monitor di sistemaSystem Monitor Monitoraggio attivitàActivity Monitor Transact-SQLTransact-SQL Log degli erroriError logs
Analisi delle tendenzeTrend analysis Yes Yes
Riproduzione di eventi acquisitiReplaying captured events Sì (da un singolo computer)Yes (From a single computer) Sì (da più computer)Yes (From multiple computers)
Monitoraggio ad hocAd hoc monitoring Yes Yes Yes Yes
Generazione di avvisiGenerating alerts Yes
Interfaccia graficaGraphical interface Yes Yes Yes Yes
Utilizzo con applicazioni personalizzateUsing within custom application Yes Yes

Utilizzo di stored procedure di sistema di SQL Server ProfilerSQL Server Profiler .Using SQL Server ProfilerSQL Server Profiler system stored procedures.

Strumenti di monitoraggio di WindowsWindows Monitoring Tools

Nei sistemi operativi Windows e in Windows Server 2003 sono inoltre disponibili gli strumenti di monitoraggio indicati di seguito.Windows operating systems and Windows Server 2003 also provide these monitoring tools.

StrumentoTool DescrizioneDescription
Gestione attivitàTask Manager Consente di visualizzare un riepilogo dei processi e delle applicazioni eseguite nel sistema.Shows a synopsis of the processes and applications running on the system.
Agente Network MonitorNetwork Monitor Agent Esegue il monitoraggio del traffico di rete.Monitors network traffic.

Per ulteriori informazioni sugli strumenti di Windows Server o dei sistemi operativi Windows, consultare la documentazione di Windows.For more information about Windows operating systems or Windows Server tools, see the Windows documentation.