Monitorando e diagnosticando objetos de banco de dados gerenciado

Aplica-se a: SQL Server

Este tópico fornece informações sobre as ferramentas que podem ser usadas para monitorar e solucionar problemas de objetos de banco de dados gerenciados e assemblies em execução no SQL Server.

Eventos de rastreamento do Profiler

O SQL Server fornece Rastreamento do SQL e notificações de eventos para monitorar eventos que ocorrem no Mecanismo de Banco de Dados. Ao registrar eventos especificados, o Rastreamento do SQL ajuda você a solucionar problemas de desempenho, auditar a atividade do banco de dados, coletar dados de exemplo para um ambiente de teste, depurar instruções Transact-SQL e procedimentos armazenados e coletar dados para ferramentas de análise de desempenho. Para obter mais informações, consulte Rastreamento SQL e Eventos Estendidos.

Evento Descrição
Classe de evento Assembly Load Usado para monitorar solicitações de carregamento de assembly (com êxito e com falha).
Classe de evento SQL:BatchStarting, classe de evento SQL:BatchCompleted Fornece informações sobre lotes Transact-SQL que foram iniciados ou concluídos.
SP:Classe de evento inicial, Classe de evento SP:Completed Usado para monitorar a execução de procedimentos armazenados Transact-SQL.
Classe de evento SQL:StmtStarting, classe de evento SQL:StmtCompleted Usado para monitorar a execução de rotinas CLR e Transact-SQL.

Contadores de desempenho

O SQL Server fornece objetos e contadores que podem ser usados pelo Monitor do Sistema para monitorar a atividade em computadores que executam uma instância do SQL Server. Um objeto é qualquer recurso do SQL Server, como um bloqueio do SQL Server ou um processo do Windows. Cada objeto contém um ou mais contadores, que determinam vários aspectos dos objetos a monitorar. Para obter mais informações, confira o artigo Usar objetos do SQL Server.

Objeto Descrição
SQL Server, objeto CLR Tempo total gasto na execução de CLR.

Contadores do Monitor do Sistema do Windows (PERFMON.EXE)

A ferramenta Monitor do Sistema do Windows (PERFMON.EXE) tem vários contadores de desempenho que podem ser usados para monitorar aplicativos de integração CLR. Os contadores de desempenho CLR do .NET podem ser filtrados pelo nome do processo "sqlservr" para rastrear aplicativos de integração CLR que estão em execução no momento.

Objeto de desempenho Descrição
SqlServer:CLR Fornece estatísticas de CPU para o servidor.
Exceções .NET CLR Rastreia o número de exceções por segundo.
Carregamento de .NET CLR Fornece informações sobre o AppDomains e os assemblies carregados no servidor.
Memória de .NET CLR Fornece informações sobre o uso da memória de CLR. Este objeto poderá ser usado para sinalizar alertará se o uso da memória se tornar muito intenso.
Provedor de Dados .Net para SQL Server Rastreia o número de conexões e desconexões por segundo. Este objeto pode ser usado para monitorar o nível de atividade do banco de dados.

Exibições do catálogo

As exibições de catálogo retornam informações usadas pelo Mecanismo de Banco de Dados do SQL Server. Recomendamos usar exibições do catálogo por serem a interface mais geral para metadados de catálogo e proporcionarem a maneira mais eficaz de obter, transformar e apresentar formas personalizadas dessas informações. Todos os metadados de catálogos disponíveis para o usuário são expostos por meio de exibições do catálogo. Para obter mais informações, confira Exibições de catálogo (Transact-SQL).

Exibição de catálogo Descrição
sys.assemblies (Transact-SQL) Retorna informações sobre os assemblies registrados em um banco de dados.
sys.assembly_references (Transact-SQL) Identifica os assemblies que referenciam outros.
sys.assembly_modules (Transact-SQL) Retorna informações sobre cada função, procedimento armazenado e gatilho definidos em um assembly.
sys.assembly_files (Transact-SQL) Retorna informações sobre os arquivos de assembly registrados em um banco de dados.
sys.assembly_types (Transact-SQL) Identifica os UDTs (tipos definidos pelo usuário) definidos por um assembly.
sys.module_assembly_usages (Transact-SQL) Identifica os assemblies nos quais os módulos CLR estão definidos.
sys.parameter_type_usages (Transact-SQL) Retorna informações sobre parâmetros que são UDTs.
sys.server_assembly_modules (Transact-SQL) Identifica o assembly no qual um gatilho CLR está definido.
sys.server_triggers (Transact-SQL) Identifica os gatilhos DDL de nível de servidor em um servidor, inclusive gatilhos CLR.
sys.type_assembly_usages (Transact-SQL) Identifica os assemblies nos quais os UDTs estão definidos.
sys.types (Transact-SQL) Retorna o sistema e os UDTs registrados no banco de dados.

Exibições de Gerenciamento Dinâmico

As exibições e funções de gerenciamento dinâmico retornam informações do estado do servidor que podem ser usadas para monitorar a saúde da instância do servidor, diagnosticar problemas e ajustar o desempenho. Para obter mais informações, consulte Exibições e funções de gerenciamento dinâmico (Transact-SQL).

DMV Descrição
sys.dm_clr_appdomains (Transact-SQL) Fornece informações sobre cada domínio do aplicativo no servidor.
sys.dm_clr_loaded_assemblies (Transact-SQL) Identifica cada assembly gerenciado registrado no servidor.
sys.dm_clr_properties (Transact-SQL) Retorna informações sobre o CLR hospedado.
sys.dm_clr_tasks (Transact-SQL) Identifica todas as tarefas CLR que estão em execução no momento.
sys.dm_exec_cached_plans (Transact-SQL) Retorna informações sobre os planos de execução de consulta armazenados em cache pelo SQL Server para uma execução de consulta mais rápida.
sys.dm_exec_query_stats (Transact-SQL) Retorna estatísticas de desempenho de agregação dos planos de consulta em cache.
sys.dm_exec_requests (Transact-SQL) Retorna informações sobre cada solicitação que está sendo executada no SQL Server.
sys.dm_os_memory_clerks (Transact-SQL) Retorna todos os administradores de memória atualmente ativos na instância do SQL Server, incluindo administradores de memória CLR.

Confira também

Conceitos de programação da Integração CLR (Common Language Runtime)