sys.dm_os_performance_counters (Transact-SQL)

Aplica-se a:SQL ServerBanco de Dados SQL do AzureInstância Gerenciada de SQL do AzureAzure Synapse AnalyticsPDW (Analytics Platform System)

Retorna uma linha por contador de desempenho mantido pelo servidor. Para obter informações sobre cada contador de desempenho, consulte Usar objetos do 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. Não há suporte a essa sintaxe para o pool de SQL sem servidor no Azure Synapse Analytics.

Nome da coluna Tipo de dados Descrição
object_name nchar(128) Categoria para a qual este contador pertence.
counter_name nchar(128) Nome do contador. Para obter mais informações sobre um contador, esse é o nome do tópico a ser selecionado na lista de contadores em Usar objetos do SQL Server.
instance_name nchar(128) Nome da instância específica do contador. Normalmente, contém o nome do banco de dados.
cntr_value bigint Valor atual do contador.

Nota: Para contadores por segundo, esse valor é cumulativo. O valor de taxa deve ser calculado pela amostragem do valor a intervalos de tempo curtos. A diferença entre qualquer dois valores de amostra sucessivos é igual à taxa para o intervalo de tempo usado.
cntr_type int Tipo de contador conforme definido pela arquitetura de desempenho do Windows. Consulte Tipos de contador de desempenho WMI no Documentos ou a documentação do Windows Server para obter 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 essa distribuição está ativada.

Comentários

Se a instância de instalação do SQL Server não exibir os contadores de desempenho do sistema operacional Windows, use a seguinte consulta Transact-SQL para confirmar se os contadores de desempenho foram desabilitados.

SELECT COUNT(*) FROM sys.dm_os_performance_counters;  

Se o valor de retorno for 0 linha, significa que os contadores de desempenho foram desabilitados. Em seguida, você deve examinar o log de instalação e procurar o erro 3409, Reinstall sqlctr.ini for this instance, and ensure that the instance login account has correct registry permissions. Isso indica que os contadores de desempenho não foram habilitados. Os erros imediatamente antes do erro 3409 devem indicar a causa da falha na habilitação dos contadores de desempenho. Para obter mais informações sobre arquivos de log de instalação, consulte Exibir e ler arquivos de log da Instalação do SQL Server.

Os contadores de desempenho em que o valor da cntr_type coluna é 65792 exibem apenas um instantâneo do último valor observado, não uma média.

Contadores de desempenho em que o valor da coluna é 272696320 ou 272696576 exibem o cntr_type número médio de operações concluídas durante cada segundo do intervalo de amostragem. Contadores desse tipo medem o tempo em tiques 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 , você deve comparar o delta entre dois pontos de coleta separados por um segundo.

Contadores de desempenho em que o valor da cntr_type coluna é 537003264 exibir a proporção de um subconjunto para seu conjunto como uma porcentagem. Por exemplo, o contador compara o número total de acertos de cache e o Buffer Manager:Buffer cache hit ratio número total de pesquisas de cache. Como tal, para obter uma leitura semelhante a um instantâneo apenas do último segundo, você deve comparar o delta entre o valor atual e o valor base (denominador) entre dois pontos de coleta separados por um segundo. O valor base correspondente é o contador Buffer Manager:Buffer cache hit ratio base de desempenho onde o valor da cntr_type coluna é 1073939712.

Os contadores de desempenho em que o valor da coluna é 1073874176 exibem quantos itens são processados em média, como uma proporção entre os itens processados e o cntr_type número de operações. Por exemplo, os Locks:Average Wait Time (ms) contadores comparam as esperas de bloqueio por segundo com as solicitações de bloqueio por segundo, para exibir a quantidade média de tempo de espera (em milissegundos) para cada solicitação de bloqueio que resultou em uma espera. Como tal, para obter uma leitura semelhante a um instantâneo apenas do último segundo, você deve comparar o delta entre o valor atual e o valor base (denominador) entre dois pontos de coleta separados por um segundo. O valor base correspondente é o contador Locks:Average Wait Time Base de desempenho onde o valor da cntr_type coluna é 1073939712.

Os dados no Detran não são persistentes após a sys.dm_os_performance_counters reinicialização do mecanismo de banco de dados. Use a coluna sqlserver_start_time em 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 de SQL, requer a permissão VIEW SERVER STATE.

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

Permissões do SQL Server 2022 e posteriores

É necessária a permissão VIEW SERVER PERFORMANCE STATE no servidor.

Exemplos

O exemplo a seguir retorna todos os contadores de desempenho que exibem valores de contador de instantâneo.

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;  

Confira também

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