sys.resource_stats (Azure SQL Database)
Se aplica a: Azure SQL Database
Devuelve datos de almacenamiento y uso de CPU para una base de datos de Azure SQL Database. Los datos se recopilan y se agregan en intervalos de cinco minutos. Para cada base de datos de usuario, hay una fila por cada ventana de informes de cinco minutos en la que hay un cambio en el consumo de recursos. Los datos devueltos incluyen el uso de CPU, el cambio de tamaño de almacenamiento y la modificación de la SKU de la base de datos. Es posible que las bases de datos inactivas sin cambios no tengan filas cada intervalo de cinco minutos. Los datos históricos se conservan durante 14 días aproximadamente.
Nota:
Esta vista de administración dinámica solo se aplica a Azure SQL Database. Para obtener una vista equivalente de Azure SQL Instancia administrada, use sys.server_resource_stats.
Columnas | Tipo de datos | Descripción |
---|---|---|
start_time | datetime | Hora UTC que indica el inicio del intervalo de informes de cinco minutos. |
end_time | datetime | Hora UTC que indica el final del intervalo de informes de cinco minutos. |
database_name | nvarchar(128) | Nombre de la base de datos del usuario. |
sku | nvarchar(128) | Nivel de servicio de la base de datos. Los posibles valores son los siguientes: Básico Estándar Premium De uso general Crítico para la empresa |
storage_in_megabytes | float | Tamaño máximo de almacenamiento en megabytes durante el período de tiempo, incluidos los datos de base de datos, los índices, los procedimientos almacenados y los metadatos. |
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 de E/S promedio como porcentaje según el 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) | Uso de recursos de escritura promedio como porcentaje del límite del nivel de servicio. |
max_worker_percent | decimal(5,2) | Número máximo de trabajos simultáneos (solicitudes) en porcentaje en función del límite del nivel de servicio de la base de datos. El máximo se calcula actualmente para el intervalo de cinco minutos en función de las muestras de 15 segundos de recuentos de trabajo simultáneos. |
max_session_percent | decimal(5,2) | Número máximo de sesiones simultáneas en porcentaje en función del límite del nivel de servicio de la base de datos. El máximo se calcula actualmente para el intervalo de cinco minutos en función de las muestras de 15 segundos de recuentos de sesiones simultáneas. |
dtu_limit | int | Configuración actual de DTU de base de datos máxima para esta base de datos durante este intervalo. |
xtp_storage_percent | decimal (5,2) | Uso de almacenamiento para OLTP en memoria en porcentaje del límite del nivel de servicio (al final del intervalo de informes). Esto incluye la memoria usada para el almacenamiento de los siguientes objetos OLTP en memoria: tablas optimizadas para memoria, índices y variables de tabla. También incluye memoria usada para procesar operaciones ALTER TABLE. Para obtener más información, vea Supervisar OLTP en memoria. Devuelve 0 si OLTP en memoria no se usa en la base de datos. |
avg_login_rate_percent | decimal (5,2) | Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada. |
avg_instance_cpu_percent | decimal (5,2) | Uso medio de CPU de base de datos como porcentaje del proceso de SQL Database. |
avg_instance_memory_percent | decimal (5,2) | Promedio de uso de memoria de base de datos como porcentaje del proceso de SQL Database. |
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. |
allocated_storage_in_megabytes | float | Cantidad de espacio de archivo con formato en MB disponible para almacenar datos de base de datos. El espacio de archivos con formato también se conoce como espacio de datos asignado. Para obtener más información, vea: Administración del espacio de archivos en SQL Database |
Sugerencia
Para obtener más contexto sobre estos límites y niveles de servicio, consulte los temas Niveles de servicio.
Permisos
En Azure SQL Database, esta vista está disponible para todos los roles de usuario con permisos para conectarse a la base de datos virtual master
.
Comentarios
Los datos devueltos por sys.resource_stats
se expresan como un porcentaje de los límites máximos permitidos para el nivel de servicio o el nivel de rendimiento que está ejecutando.
Cuando una base de datos es miembro de un grupo elástico, las estadísticas de recursos presentadas 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.
Para obtener una vista más detallada de estos datos, use sys.dm_db_resource_stats
la vista de administración dinámica en una base de datos de usuario. Esta vista captura datos cada 15 segundos u mantiene datos históricos durante 1 hora. Para más información, consulte sys.dm_db_resource_stats (Azure SQL Database).
Nota:
Para más información sobre cómo solucionar problemas de uso de CPU mediante vistas de administración dinámica, consulte Identificación de problemas de rendimiento de CPU en rendimiento de Azure SQL Database o Identificación de problemas de rendimiento de CPU en Azure SQL Instancia administrada rendimiento.
Para revisar los eventos recientes de memoria insuficiente, use sys.dm_os_out_of_memory_events.
Ejemplos
Debe estar conectado a la master
base de datos en el servidor lógico para consultar sys.resource_stats
.
En el ejemplo siguiente se devuelven todas las bases de datos que están promediando al menos el 80 % del uso de la CPU durante la última semana.
DECLARE @s datetime;
DECLARE @e datetime;
SET @s= DateAdd(d,-7,GetUTCDate());
SET @e= GETUTCDATE();
SELECT database_name, AVG(avg_cpu_percent) AS Average_CPU_Utilization
FROM sys.resource_stats
WHERE start_time BETWEEN @s AND @e
GROUP BY database_name
HAVING AVG(avg_cpu_percent) >= 80;
GO
Consulte también
- Niveles de servicio
- Funcionalidades y límites del nivel de servicio
- sys.dm_os_out_of_memory_events (Azure SQL Database y Azure SQL Instancia administrada)
Pasos siguientes
Obtenga más información sobre los conceptos relacionados en los artículos siguientes: