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

Concluído

O SQL Server fornece várias 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 exibições e funçõ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 modos de exibição (DMVs) ou funções (DMFs), mas a maioria das pessoas usa a sigla DMV para se referir a ambos os tipos de objeto.

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

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

Os nomes dos DMVs são todos prefixados com sys.dm_ seguido pela área funcional e, em seguida, a 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 de consultas
  • Objetos de gerenciamento dinâmico relacionados a transações

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

Nota

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

O Banco de Dados SQL do Azure tem um conjunto ligeiramente diferente de DMVs disponíveis do que o SQL Server; alguns objetos estão disponíveis apenas no Banco de Dados SQL do Azure, enquanto outros objetos estão disponíveis apenas no SQL Server. Alguns têm escopo no nível do servidor e não são aplicáveis no modelo do Azure (o waits_stats DMV abaixo é um exemplo de um DMV com escopo de servidor), enquanto outros são específicos 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 no (ou relevantes para) o SQL Server.