sys.dm_db_resource_stats (Azure SQL Database y Azure SQL Instancia administrada)

Se aplica a: SíAzure SQL Database SíInstancia administrada de Azure SQL

Devuelve el consumo de CPU, E/S y memoria para una base Azure SQL Database de datos o una Instancia administrada de Azure SQL . Existe una fila cada 15 segundos, incluso si no hay ninguna actividad. Los datos históricos se mantienen durante aproximadamente una hora.

Columnas Tipo de datos Descripción
end_time datetime Hora UTC que indica el fin del intervalo de informes actual.
avg_cpu_percent decimal (5,2) Uso de proceso promedio como porcentaje del límite del nivel de servicio.
avg_data_io_percent decimal (5,2) Uso medio de E/S de datos en porcentaje del límite del nivel de servicio. Para las bases de datos de Hiperescala, consulte E/S de datos en estadísticas de uso de recursos.
avg_log_write_percent decimal (5,2) Promedio de escrituras del registro de transacciones (en MBps) como porcentaje del límite del nivel de servicio.
avg_memory_usage_percent decimal (5,2) Uso de memoria promedio como porcentaje del límite del nivel de servicio.

Esto incluye la memoria usada para las páginas del grupo de búferes y el almacenamiento In-Memory objetos OLTP.
xtp_storage_percent decimal (5,2) Storage utilización de In-Memory OLTP en porcentaje del límite del nivel de servicio (al final del intervalo de informes). Esto incluye la memoria utilizada para el almacenamiento de los siguientes In-Memory OLTP: tablas optimizadas para memoria, índices y variables de tabla. También incluye la memoria utilizada para procesar las operaciones ALTER TABLE.

Devuelve 0 si In-Memory OLTP no se usa en la base de datos.
max_worker_percent decimal (5,2) Número máximo de trabajos simultáneos (solicitudes) en porcentaje del límite del nivel de servicio de la base de datos.
max_session_percent decimal (5,2) Número máximo de sesiones simultáneas en porcentaje del límite del nivel de servicio de la base de datos.
dtu_limit int Configuración actual de DTU de base de datos máxima para esta base de datos durante este intervalo. Para las bases de datos que usan el modelo basado en núcleo virtual, esta columna es NULL .
cpu_limit decimal (5,2) Número de núcleos virtuales para esta base de datos durante este intervalo. Para las bases de datos que usan el modelo basado en DTU, esta columna es NULL .
avg_instance_cpu_percent decimal (5,2) Uso medio de CPU para la SQL Server que hospeda la base de datos, según lo medido por el sistema operativo. Incluye el uso de CPU por parte de cargas de trabajo internas y de usuario.
avg_instance_memory_percent decimal (5,2) Uso medio de memoria para la SQL Server que hospeda la base de datos, medido por el sistema operativo. Incluye el uso de memoria tanto por parte del usuario como de las cargas de trabajo internas.
avg_login_rate_percent decimal (5,2) Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada.
replica_role int Representa el rol de la réplica actual con 0 como principal, 1 como secundario y 2 como reenviador (principal de la réplica secundaria geográfica). Verá "1" cuando se conecte con la intención ReadOnly a todas las secundarias legibles. Si se conecta a una base de datos secundaria geográfica sin especificar la intención ReadOnly, debería ver "2" (conectarse al reenviador).

Sugerencia

Para obtener más contexto sobre estos límites y niveles de servicio, vea los temas Niveles de servicio , Ajustar manualmente el rendimiento de las consultas en Azure SQL Databasey SQL Database límitesde recursos y gobernanza de recursos.

Permisos

Esta vista requiere el permiso VIEW DATABASE STATE.

Observaciones

Los datos devueltos por se expresan como un porcentaje de los límites máximos permitidos para el nivel de rendimiento o nivel de servicio sys.dm_db_resource_stats que se está ejecutando.

Si la base de datos se conmutación por error a otro servidor en los últimos 60 minutos, la vista solo devolverá datos durante el tiempo desde esa conmutación por error.

Para obtener una vista menos granular de estos datos con un período de retención más largo, use la vista de catálogo en Azure SQL Database o la vista de catálogo sys.resource_stats sys.server_resource_stats en Azure SQL Instancia administrada. Esta vista captura datos cada 5 minutos y mantiene datos históricos durante 14 días. Para obtener más información, vea sys.resource_stats o sys.server_resource_stats.

Cuando una base de datos es miembro de un grupo elástico, las estadísticas de recursos que se presentan como valores de porcentaje se expresan como el porcentaje del límite máximo de las bases de datos tal como se establece en la configuración del grupo elástico.

Ejemplo

En el ejemplo siguiente se devuelven los datos de uso de recursos ordenados por la hora más reciente para la base de datos conectada Azure SQL Database actualmente o Instancia administrada de Azure SQL .

SELECT * FROM sys.dm_db_resource_stats ORDER BY end_time DESC;  

En el ejemplo siguiente se identifica el promedio de consumo de DTU en términos de porcentaje del límite máximo permitido de DTU en el nivel de rendimiento de la base de datos de usuario durante la última hora. Considere aumentar el nivel de rendimiento de estos porcentajes a casi el 100 % de forma coherente.

SELECT end_time,   
  (SELECT Max(v)    
   FROM (VALUES (avg_cpu_percent), (avg_data_io_percent), (avg_log_write_percent)) AS    
   value(v)) AS [avg_DTU_percent]   
FROM sys.dm_db_resource_stats;  

El ejemplo siguiente devuelve los valores máximo y promedio de porcentaje de CPU, la E/S de datos y registro, así como el consumo de memoria durante la última hora.

SELECT    
    AVG(avg_cpu_percent) AS 'Average CPU Utilization In Percent',   
    MAX(avg_cpu_percent) AS 'Maximum CPU Utilization In Percent',   
    AVG(avg_data_io_percent) AS 'Average Data IO In Percent',   
    MAX(avg_data_io_percent) AS 'Maximum Data IO In Percent',   
    AVG(avg_log_write_percent) AS 'Average Log Write I/O Throughput Utilization In Percent',   
    MAX(avg_log_write_percent) AS 'Maximum Log Write I/O Throughput Utilization In Percent',   
    AVG(avg_memory_usage_percent) AS 'Average Memory Usage In Percent',   
    MAX(avg_memory_usage_percent) AS 'Maximum Memory Usage In Percent'   
FROM sys.dm_db_resource_stats;  

Consulte también