Exibições e funções de gerenciamento dinâmico (Transact-SQL)

As funções e exibições e de gerenciamento dinâmico retornam informações do estado do servidor que podem ser usadas para monitorar a integridade da instância do servidor, diagnosticar problemas e ajustar o desempenho.

Observação importanteImportante

Elas retornam dados de estado internos específicos de implementação. Os esquemas e os dados retornados podem mudar em versões futuras do SQL Server. Por isso, as exibições e funções de gerenciamento dinâmico, em versões futuras, podem não ser compatíveis com as exibições e funções de gerenciamento dinâmico do SQL Server 2008.

Há dois tipos de exibições e funções de gerenciamento dinâmico:

  • Exibições e funções de gerenciamento dinâmico de escopo de servidor. Requerem a permissão VIEW SERVER STATE no servidor.

  • Exibições e funções de gerenciamento dinâmico de escopo de banco de dados. Requerem permissão VIEW DATABASE STATE no banco de dados.

Consultando exibições de gerenciamento dinâmico

As exibições de gerenciamento dinâmico podem ser mencionadas em instruções Transact-SQL usando nomes de duas, três ou quatro partes. Por sua vez, as funções de gerenciamento dinâmico podem ser mencionadas em instruções Transact-SQL usando nomes de duas ou três partes. As exibições e funções de gerenciamento dinâmico não podem ser mencionadas em instruções Transact-SQL com o uso de nomes de uma parte.

Todas as exibições e funções de gerenciamento dinâmico estão no esquema sys e seguem a convenção de nomenclatura dm_*. Quando você usa uma exibição ou função de gerenciamento dinâmico, é preciso prefixar o nome da exibição ou função usando o esquema sys. Por exemplo, para consultar a exibição de gerenciamento dinâmico dm_os_wait_stats, execute a seguinte consulta:

SELECT wait_type, wait_time_ms

FROM sys.dm_os_wait_stats;

GO

Permissões necessárias

A consulta de uma exibição ou função de gerenciamento dinâmico requer a permissão SELECT no objeto e a permissão VIEW SERVER STATE ou VIEW DATABASE STATE. Isso lhe permite restringir seletivamente o acesso de um usuário ou logon a exibições e funções de gerenciamento dinâmico. Para fazer isso, primeiro crie o usuário em mestre e negue a permissão SELECT aos usuários nas exibições e funções de gerenciamento dinâmico a que os usuários não devem ter acesso. Depois disso, o usuário não poderá selecionar essas exibições ou funções de gerenciamento dinâmico, independentemente do contexto de banco de dados do usuário.

ObservaçãoObservação

Como DENY prevalece, se um usuário tiver recebido permissões VIEW SERVER STATE, mas não a permissão VIEW DATABASE STATE, ele poderá verificar as informações de servidor, mas não as de banco de dados.

Nesta seção

As exibições e as funções de gerenciamento dinâmico foram organizadas nas seguintes categorias.