Monitoraggio e risoluzione dei problemi relativi agli oggetti di database gestiti

In questo argomento vengono fornite informazioni sugli strumenti che è possibile utilizzare per monitorare e risolvere i problemi relativi agli oggetti di database e agli assembly gestiti in esecuzione in SQL Server.

Eventi di traccia del profiler

SQL Server offre Traccia SQL e notifiche di eventi per monitorare gli eventi che si verificano nel Motore di database. Tramite la registrazione di eventi specificati, Traccia SQL consente di risolvere problemi relativi alle prestazioni, controllare l'attività dei database, raccogliere dati campione per un ambiente di prova, eseguire il debug delle istruzioni e delle stored procedure di Transact-SQL e raccogliere dati per gli strumenti di analisi delle prestazioni. Per ulteriori informazioni, vedere Monitoraggio di eventi.

Evento

Descrizione

Classe di evento Assembly Load

Utilizzato per monitorare le richieste di caricamento degli assembly (esito positivo ed errori).

Classe di evento SQL:BatchStarting, Classe di evento SQL:BatchCompleted

Fornisce informazioni sui batch Transact-SQL avviati o completati.

Classe di evento SP:Starting, Classe di evento SP:Completed

Utilizzato per monitorare l'esecuzione di stored procedure Transact-SQL.

Classe di evento SQL:StmtStarting, Classe di evento SQL:StmtCompleted

Utilizzato per monitorare l'esecuzione di routine CLR e Transact-SQL.

Contatori delle prestazioni

SQL Server include oggetti e contatori utilizzabili da Monitor di sistema per il monitoraggio dell'attività in computer che eseguono un'istanza di SQL Server. Per oggetto si intende qualsiasi risorsa di SQL Server, ad esempio un blocco di SQL Server o un processo di Windows XP. Ogni oggetto contiene uno o più contatori che determinano diversi aspetti degli oggetti da monitorare. Per ulteriori informazioni, vedere Utilizzo degli oggetti di SQL Server.

Oggetto

Descrizione

Oggetto CLR di SQL Server

Tempo totale di esecuzione in CLR.

Contatori di Monitor di sistema di Windows (PERFMON.EXE)

Lo strumento Monitor di sistema di Windows (PERFMON.EXE) include diversi contatori delle prestazioni che è possibile utilizzare per monitorare le applicazioni di integrazione CLR. I contatori delle prestazioni CLR .NET possono essere filtrati tramite il nome di processo "sqlservr" per tenere traccia delle applicazioni di integrazione CLR attualmente in esecuzione.

Oggetto prestazione

Descrizione

SqlServer:CLR

Fornisce statistiche sulla CPU per il server.

Eccezioni CLR .NET

Tiene traccia del numero di eccezioni generate al secondo.

Caricamento CLR .NET

Fornisce informazioni su AppDomain e assembly caricati nel server.

Memoria CLR .NET

Offre informazioni relative all'utilizzo della memoria in CLR. Questo oggetto può essere utilizzato per contrassegnare gli avvisi in caso di un utilizzo eccessivo di memoria.

Provider di dati .NET per SQL Server

Tiene traccia del numero di connessioni e disconnessioni eseguite al secondo. Questo oggetto può essere utilizzato per monitorare il livello di attività del database.

Le viste del catalogo restituiscono informazioni utilizzate dal Motore di database di SQL Server. È consigliabile utilizzare tali viste perché rappresentano l'interfaccia più immediata per l'accesso ai metadati del catalogo e sono inoltre lo strumento più efficiente per ottenere, trasformare e presentare tali informazioni in forme personalizzate. Tutti i metadati del catalogo disponibili per gli utenti vengono esposti tramite le viste del catalogo. Per ulteriori informazioni, vedere Viste del catalogo (Transact-SQL).

Vista del catalogo

Descrizione

sys.assemblies (Transact-SQL)

Restituisce informazioni sugli assembly registrati in un database.

sys.assembly_references (Transact-SQL)

Identifica gli assembly che fanno riferimento ad altri assembly.

sys.assembly_modules (Transact-SQL)

Restituisce informazioni su ogni funzione, stored procedure e trigger definito in un assembly.

sys.assembly_files (Transact-SQL)

Restituisce informazioni sui file di assembly registrati nel database.

sys.assembly_types (Transact-SQL)

Identifica i tipi definiti dall'utente specificati da un assembly.

sys.module_assembly_usages (Transact-SQL)

Identifica gli assembly in cui sono definiti moduli CLR.

sys.parameter_type_usages (Transact-SQL)

Restituisce informazioni sui parametri che sono tipi definiti dall'utente.

sys.server_assembly_modules (Transact-SQL)

Identifica l'assembly in cui è definito un trigger CLR.

sys.server_triggers (Transact-SQL)

Identifica i trigger DLL a livello di server, inclusi i trigger CLR.

sys.type_assembly_usages (Transact-SQL)

Identifica gli assembly in cui sono specificati tipi definiti dagli utenti.

sys.types (Transact-SQL)

Restituisce i tipi di sistema e definiti dall'utente registrati nel database.

Viste a gestione dinamica

Le funzioni e le viste a gestione dinamica restituiscono informazioni sullo stato del server che possono essere utilizzate per monitorare l'integrità di un'istanza del server, diagnosticare i problemi e ottimizzare le prestazioni. Per ulteriori informazioni, vedere Funzioni e viste a gestione dinamica (Transact-SQL).

Vista a gestione dinamica

Descrizione

sys.dm_clr_appdomains (Transact-SQL)

Fornisce informazioni su ogni dominio applicazione nel server.

sys.dm_clr_loaded_assemblies (Transact-SQL)

Identifica ogni assembly gestito registrato nel server.

sys.dm_clr_properties (Transact-SQL)

Restituisce informazioni relative al CLR hosted.

sys.dm_clr_tasks (Transact-SQL)

Identifica tutte le attività CLR attualmente in esecuzione.

sys.dm_exec_cached_plans (Transact-SQL)

Restituisce informazioni sui piani di esecuzione di query memorizzati nella cache da SQL Server per accelerare l'esecuzione di query.

sys.dm_exec_query_stats (Transact-SQL)

Restituisce dati statistici aggregati sulle prestazioni dei piani di query memorizzati nella cache.

sys.dm_exec_requests (Transact-SQL)

Restituisce informazioni su ciascuna richiesta in esecuzione all'interno di SQL Server.

sys.dm_os_memory_clerks (Transact-SQL)

Restituisce tutti i clerk di memoria attivi nell'istanza di SQL Server, inclusi i clerk di memoria CLR.