Descrever funções e exibições de gerenciamento dinâmico

Concluído

O SQL Server fornece centenas de objetos de gerenciamento dinâmico. Esses objetos contêm informações do sistema que podem ser usadas para monitorar a integridade de uma instância do servidor, diagnosticar problemas e ajustar o desempenho. As funções e exibições de gerenciamento dinâmico retornam dados internos sobre o estado do banco de dados ou da instância. Os objetos de gerenciamento dinâmico podem ser exibições (DMVs) ou funções (DMFs), mas a maioria das pessoas usa o acrônimo DMV para se referir a ambos os tipos de objeto.

Há dois níveis de DMVs: com escopo de servidor e com escopo de banco de dados.

  • Objetos com escopo de servidor – exigem a permissão VIEW SERVER STATE no servidor
  • Objetos com escopo de banco de dados – exigem a permissão VIEW DATABASE STATE dentro do banco de dados

Os nomes das DMVs são sempre prefixados com sys.dm_, seguido pela área funcional e pela função específica do objeto. O SQL Server dá suporte a três categorias de DMVs:

  • Objetos de gerenciamento dinâmico relacionados ao banco de dados
  • Objetos de gerenciamento dinâmico relacionados à execução da consulta
  • Objetos de gerenciamento dinâmico relacionados à transação

Para saber mais sobre as consultas para monitorar o desempenho do servidor e do banco de dados, confira Monitorando o desempenho do Banco de Dados SQL do Microsoft Azure e da Instância Gerenciada de SQL do Azure usando exibições de gerenciamento dinâmico.

Observação

Para versões mais antigas do SQL Server nas quais o Repositório de Consultas não está disponível, você pode usar a exibição sys.dm_exec_cached_plans em conjunto com as funções sys.dm_exec_sql_text e sys.dm_exec_query_plan para retornar informações sobre planos de execução. No entanto, ao contrário do Repositório de Consultas, você não poderá ver as alterações nos planos para determinada consulta.

O Banco de Dados SQL do Azure tem um conjunto de DMVs disponíveis um pouco diferente do SQL Server; alguns objetos estão disponíveis apenas no Banco de Dados SQL do Azure, enquanto outros só estão no SQL Server. Algumas têm o escopo definido no nível do servidor e não são aplicáveis no modelo do Azure (a DMV waits_stats abaixo é um exemplo de DMV com escopo de servidor), enquanto outras são específicas do Banco de Dados SQL do Azure, como sys.dm_db_resource_stats, e fornecem informações específicas do Azure que não estão disponíveis (ou não são relevantes) no SQL Server.