Partilhar via


sys.dm_os_performance_counters (Transact-SQL)

Aplica-se a:Banco de Dados SQL doAzureInstância Gerenciada de SQL do AzureAzure Synapse AnalyticsAnalytics Platform System (PDW)Banco de Dados SQL no Microsoft Fabric

Retorna uma linha por contador de desempenho mantido pelo servidor. Para informações sobre cada contador de desempenho, veja Usar Objetos SQL Server.

Observação

Para chamar isso do Azure Synapse Analytics ou do Analytics Platform System (PDW), use o nome sys.dm_pdw_nodes_os_performance_counters. Essa sintaxe não é suportada pelo pool SQL sem servidor no Azure Synapse Analytics.

Nome da coluna Tipo de dados Description
object_name nchar(128) Categoria a que este contador pertence.
counter_name nchar(128) Nome do balcão. Para obter mais informações sobre um contador, este é o nome do tópico a selecionar da lista de contadores em Use SQL Server Objects.
instance_name nchar(128) Nome da instância específica do contador. Frequentemente contém o nome da base de dados.
cntr_value bigint Valor atual do contador.

Nota: Para contadores por segundo, este valor é cumulativo. O valor da taxa deve ser calculado amostrando o valor em intervalos de tempo discretos. A diferença entre quaisquer dois valores de amostra sucessivos é igual à taxa para o intervalo de tempo utilizado.
cntr_type int Tipo de contador conforme definido pela arquitetura de desempenho do Windows. Consulte os Tipos de Contadores de Desempenho WMI no Docs ou a documentação do seu Windows Server para mais informações sobre tipos de contadores de desempenho.
pdw_node_id int Aplica-se a: Azure Synapse Analytics, Analytics Platform System (PDW)

O identificador do nó em que esta distribuição se encontra.

Observações

Se a instância de instalação do SQL Server não mostrar os contadores de desempenho do sistema operativo Windows, utilize a seguinte consulta Transact-SQL para confirmar que os contadores de desempenho foram desativados.

SELECT COUNT(*) FROM sys.dm_os_performance_counters;  

Se o valor de retorno for 0 linhas, isso significa que os contadores de desempenho foram desativados. Deve então consultar o registo de configuração e procurar o erro 3409. Reinstall sqlctr.ini for this instance, and ensure that the instance login account has correct registry permissions. Isto indica que os contadores de desempenho não estavam ativados. Os erros imediatamente anteriores ao erro 3409 devem indicar a causa raiz da falha da habilitação do contador de desempenho. Para mais informações sobre ficheiros de registo de configuração, consulte Visualizar e Ler Ficheiros de Registo de Instalação do SQL Server.

Contadores de desempenho onde o cntr_type valor da coluna é 65792 mostram apenas um instantâneo do último valor observado, não uma média.

Contadores de desempenho onde o cntr_type valor da coluna é 272696320 ou 272696576 exibem o número médio de operações realizadas a cada segundo do intervalo de amostragem. Contadores deste tipo medem o tempo em movimentos do relógio do sistema. Por exemplo, para obter uma leitura semelhante a um instantâneo do último segundo apenas para os Buffer Manager:Lazy writes/sec contadores e, Buffer Manager:Checkpoint pages/sec deve comparar a diferença entre dois pontos de recolha que estão separados por um segundo.

Contadores de desempenho onde o valor da cntr_type coluna é 537003264 exibem a razão entre um subconjunto e o seu conjunto como percentagem. Por exemplo, o Buffer Manager:Buffer cache hit ratio contador compara o número total de acessos à cache e o número total de consultas à cache. Assim, para obter uma leitura semelhante a um instantâneo apenas do último segundo, deve comparar a diferença entre o valor atual e o valor base (denominador) entre dois pontos de recolha que estão separados por um segundo. O valor base correspondente é o contador Buffer Manager:Buffer cache hit ratio base de desempenho onde o cntr_type valor da coluna é 1073939712.

Contadores de desempenho onde o valor da cntr_type coluna é 1073874176 mostram quantos itens são processados em média, como uma proporção entre os itens processados e o número de operações. Por exemplo, os Locks:Average Wait Time (ms) contadores comparam as esperas de bloqueio por segundo com os pedidos de bloqueio por segundo, para mostrar o tempo médio de espera (em milissegundos) para cada pedido de bloqueio que resultou numa espera. Assim, para obter uma leitura semelhante a um instantâneo apenas do último segundo, deve comparar a diferença entre o valor atual e o valor base (denominador) entre dois pontos de recolha que estão separados por um segundo. O valor base correspondente é o contador Locks:Average Wait Time Base de desempenho onde o cntr_type valor da coluna é 1073939712.

Os dados no sys.dm_os_performance_counters DMV não são mantidos depois de o motor da base de dados reiniciar. Use a sqlserver_start_time coluna no sys.dm_os_sys_info para localizar a última hora de inicialização do mecanismo de banco de dados.

Permissão

No SQL Server e na Instância Gerenciada do SQL, requer VIEW SERVER STATE permissão.

No Banco de Dados SQL Basic, S0e S1 objetivos de serviço e para bancos de dados em pools elásticos , a conta de de administrador do servidor, a conta de de administrador do Microsoft Entra ou a associação aode função de servidor ##MS_ServerStateReader## é necessária. Em todos os outros objetivos de serviço do Banco de dados SQL, é necessária a permissão VIEW DATABASE STATE no banco de dados ou a associação à função de servidor ##MS_ServerStateReader##.

Permissões para SQL Server 2022 e posterior

Requer a permissão VIEW SERVER PERFORMANCE STATE no servidor.

Examples

O exemplo seguinte devolve todos os contadores de desempenho que mostram valores de contadores instantâneos.

SELECT object_name, counter_name, instance_name, cntr_value, cntr_type  
FROM sys.dm_os_performance_counters
WHERE cntr_type = 65792 OR cntr_type = 272696320 OR cntr_type = 537003264;  

Consulte também

Exibições de gerenciamento dinâmico relacionadas ao sistema operacional SQL Server (Transact-SQL)
sys.sysperfinfo (Transact-SQL)
sys.dm_os_sys_info (Transact-SQL)