sys.dm_os_performance_counters (Transact-SQL)

Se aplica a:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)

Devuelve una fila por contador de rendimiento que se mantiene en el servidor. Para obtener información sobre cada contador de rendimiento, vea Usar objetos de SQL Server.

Nota:

Para llamar a esto desde Azure Synapse Analytics o Analytics Platform System (PDW), use el nombre sys.dm_pdw_nodes_os_performance_counters. El grupo de SQL sin servidor no admite esta sintaxis en Azure Synapse Analytics.

Nombre de la columna Tipo de datos Descripción
object_name nchar(128) Categoría a la que pertenece este contador.
counter_name nchar(128) Nombre del contador. Para obtener más información sobre un contador, este es el nombre del tema que se va a seleccionar en la lista de contadores en Usar objetos de SQL Server.
instance_name nchar(128) Nombre de la instancia específica del contador. A menudo contiene el nombre de la base de datos.
cntr_value bigint Valor actual del contador.

Nota: Para los contadores por segundo, este valor es acumulativo. El valor de la tarifa se debe calcular probando el valor en intervalos de tiempo distintos. La diferencia entre dos valores de ejemplo sucesivos es igual a la tarifa del intervalo de tiempo usado.
cntr_type int Tipo de contador definido en la arquitectura de rendimiento de Windows. Consulte Tipos de contadores de rendimiento de WMI en documentos o la documentación de Windows Server para obtener más información sobre los tipos de contadores de rendimiento.
pdw_node_id int Se aplica a: Azure Synapse Analytics, Sistema de la plataforma de análisis (PDW)

Identificador del nodo en el que se encuentra esta distribución.

Comentarios

Si la instancia de instalación de SQL Server no puede mostrar los contadores de rendimiento del sistema operativo Windows, use la siguiente consulta de Transact-SQL para confirmar que se han deshabilitado los contadores de rendimiento.

SELECT COUNT(*) FROM sys.dm_os_performance_counters;  

Si el valor devuelto es 0 filas, significa que se han deshabilitado los contadores de rendimiento. A continuación, debe examinar el registro de instalación y buscar el error 3409, Reinstall sqlctr.ini for this instance, and ensure that the instance login account has correct registry permissions. esto indica que los contadores de rendimiento no estaban habilitados. Los errores inmediatamente anteriores al error 3409 deben indicar la causa principal del error en la habilitación del contador de rendimiento. Para obtener más información sobre los archivos de registro de instalación, vea Ver y leer archivos de registro de instalación de SQL Server.

Los contadores de rendimiento en los que el cntr_type valor de columna es 65792 muestran solo una instantánea del último valor observado, no un promedio.

Los contadores de rendimiento en los que el cntr_type valor de columna se 272696320 o 272696576 muestran el número medio de operaciones completadas durante cada segundo del intervalo de muestra. Los contadores de este tipo miden el tiempo en tics del reloj del sistema. Por ejemplo, para obtener una lectura similar a una instantánea del último segundo solo para los Buffer Manager:Lazy writes/sec contadores y Buffer Manager:Checkpoint pages/sec , debe comparar la diferencia entre dos puntos de colección separados por un segundo.

Los contadores de rendimiento en los que el cntr_type valor de columna se 537003264 muestran la relación de un subconjunto con su conjunto como porcentaje. Por ejemplo, el Buffer Manager:Buffer cache hit ratio contador compara el número total de aciertos de caché y el número total de búsquedas de caché. Por lo tanto, para obtener una lectura similar a una instantánea del último segundo, debe comparar la diferencia entre el valor actual y el valor base (denominador) entre dos puntos de colección separados por un segundo. El valor base correspondiente es el contador Buffer Manager:Buffer cache hit ratio base de rendimiento donde se 1073939712 el cntr_type valor de columna.

Los contadores de rendimiento en los que el cntr_type valor de columna se 1073874176 muestran cuántos elementos se procesan en promedio, como una proporción de los elementos procesados al número de operaciones. Por ejemplo, los Locks:Average Wait Time (ms) contadores comparan las esperas de bloqueo por segundo con las solicitudes de bloqueo por segundo, para mostrar la cantidad media de tiempo de espera (en milisegundos) de cada solicitud de bloqueo que dio lugar a una espera. Por lo tanto, para obtener una lectura similar a una instantánea del último segundo, debe comparar la diferencia entre el valor actual y el valor base (denominador) entre dos puntos de colección separados por un segundo. El valor base correspondiente es el contador Locks:Average Wait Time Base de rendimiento donde se 1073939712 el cntr_type valor de columna.

Los datos de la sys.dm_os_performance_counters DMV no se conservan después de reiniciar el motor de base de datos. Use la columna sqlserver_start_time en sys.dm_os_sys_info para encontrar la hora del último inicio del motor de base de datos.

Permiso

En SQL Server y SQL Managed Instance, requiere el permiso VIEW SERVER STATE.

En los objetivos de servicio de SQL Database Basic, S0 y S1, y para las bases de datos de grupos elásticos, se requiere la cuenta de administrador del servidor, la cuenta de administrador de Microsoft Entra o la pertenencia al rol de ##MS_ServerStateReader##servidor. En el resto de objetivos del servicio de SQL Database, se requiere el permiso VIEW DATABASE STATE en la base de datos o la pertenencia en el rol del servidor ##MS_ServerStateReader##.

Permisos para SQL Server 2022 y versiones posteriores

Requiere el permiso VER ESTADO DE RENDIMIENTO DEL SERVIDOR en el servidor.

Ejemplos

En el ejemplo siguiente se devuelven todos los contadores de rendimiento que muestran los valores del contador de instantáneas.

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 también

Vistas de administración dinámica relacionadas con el sistema operativo de SQL Server (Transact-SQL)
sys.sysperfinfo (Transact-SQL)
sys.dm_os_sys_info (Transact-SQL)