Vistas e funções de gestão dinâmica do sistema

Aplica-se a:SQL ServerBase de Dados SQL do AzureAzure SQL Managed InstanceAzure Synapse AnalyticsEndpoint de análise SQL no Microsoft FabricArmazém no Microsoft FabricBase de dados SQL no Microsoft Fabric

Os objetos de gestão dinâmica incluem vistas de gestão dinâmica (DMVs) e funções de gestão dinâmica (DMFs). Estes objetos devolvem informação sobre o estado do servidor que pode usar para monitorizar o estado de uma instância de servidor, diagnosticar problemas e ajustar o desempenho.

Os objetos de gestão dinâmica são com âmbito de servidor ou de base de dados.

Consultar objetos de gestão dinâmica

Todos os objetos de gestão dinâmica existem no sys esquema e seguem a convenção dm_*de nomenclatura .

Quando usa um objeto de gestão dinâmica, deve prefixar o nome do objeto usando o sys esquema. Por exemplo, para consultar a dm_os_wait_stats vista de gestão dinâmica, execute a seguinte consulta:

SELECT wait_type,
       wait_time_ms
FROM sys.dm_os_wait_stats;

A tabela seguinte descreve como referenciar objetos de gestão dinâmica no Transact-SQL:

Referência T-SQL Visualização de gerenciamento dinâmico Função de gestão dinâmica
Nomenclatura de uma só parte No No
Nomenclatura em duas partes Yes Yes
Nomenclatura em três partes Yes Yes
Nomenclatura em quatro partes Yes No

Observações

Os objetos de gestão dinâmica retornam dados internos de estado específicos da implementação. Os seus esquemas e os dados que devolvem podem mudar em futuras versões do Database Engine. Portanto, os objetos de gestão dinâmica em versões futuras podem não ser compatíveis com os objetos de gestão dinâmica desta edição.

Por exemplo, em futuras versões do Database Engine, a Microsoft poderá aumentar a definição de qualquer vista de gestão dinâmica adicionando colunas ao final da lista de colunas. Não uses a sintaxe SELECT * FROM dynamic_management_view_name no código de produção porque o número de colunas devolvidas pode mudar e estragar a tua aplicação.

Permissions

Consultar um objeto de gestão dinâmica requer SELECT permissão sobre o objeto e depende do âmbito do objeto e da versão do Mecanismo de Banco de Dados do SQL Server:

Versão Âmbito do servidor Âmbito da base de dados
SQL Server 2019 (15.x) e versões anteriores VIEW SERVER STATE VIEW DATABASE STATE
SQL Server 2022 (16.x) e versões posteriores VIEW SERVER PERFORMANCE STATE, ou VIEW SERVER SECURITY STATE para objetos relacionados com segurança VIEW DATABASE PERFORMANCE STATE, ou VIEW DATABASE SECURITY STATE para objetos relacionados com segurança

Para restringir o acesso seletivamente, crie o utilizador ou faça master login e depois negue essa permissão de utilizador SELECT nas vistas ou funções de gestão dinâmica específicas que pretende bloquear. O utilizador não pode selecionar entre esses objetos depois, independentemente do contexto da base de dados.

Note

DENY tem precedência sobre GRANT. Por exemplo, um utilizador concedido VIEW SERVER PERFORMANCE STATE mas recusado VIEW DATABASE PERFORMANCE STATE pode ver informação ao nível do servidor, mas não informação ao nível da base de dados.