sys.dm_os_performance_counters (Transact-SQL)
Se aplica a: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics 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 Básico, S0 y S1 de SQL Database y para bases de datos en grupos elásticos, se requiere la cuenta de administrador del servidor, la cuenta de administrador Microsoft Entra o la pertenencia al ##MS_ServerStateReader##
rol del 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)