sys.resource_stats (Azure SQL Database)

Se aplica a: SíAzure SQL Database

Devuelve datos de almacenamiento y uso de CPU para una base de datos de Azure SQL. 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 para cada intervalo de cinco minutos. Los datos históricos se conservan durante 14 días aproximadamente.

La vista sys.resource_stats tiene definiciones diferentes dependiendo de la versión del servidor de SQL Database Azure a la que esté asociada la base de datos. Tenga en cuenta estas diferencias y cualquier modificación que requiera la aplicación al actualizar a una nueva versión de servidor.

Nota

Esta vista de administración dinámica solo se aplica Azure SQL Database administración dinámica. Para obtener una vista equivalente para Azure SQL Instancia administrada, use sys.server_resource_stats.

En la tabla siguiente se describen las columnas disponibles en un servidor v12:

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 según el 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 trabajos simultáneos.
max_session_percent decimal(5,2) Número máximo de sesiones simultáneas en porcentaje según el límite del nivel de servicio de la base de datos.

El valor 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) 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.
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 SQL Database proceso.
avg_instance_memory_percent decimal (5,2) Uso medio de memoria de base de datos como porcentaje del SQL Database de datos.
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 archivo con formato también se conoce como espacio de datos asignado. Para obtener más información, vea: Administración de espacio de archivos en SQL Database

Sugerencia

Para obtener más contexto sobre estos límites y niveles de servicio, vea 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 master virtual.

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.resource_stats que se está ejecutando.

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.

Para obtener una vista más granular 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 obtener más información, vea sys.dm_db_resource_stats (Azure SQL Database).

Nota

Para obtener más información sobre cómo solucionar problemas de uso de LA CPU mediante vistas de administración dinámica, consulte Identificación de problemas de rendimiento de LA CPU en Microsoft Azure SQL Database y rendimiento de Azure SQL Instancia administrada.

Ejemplos

En Azure SQL Database, debe estar conectado a la base de master datos para consultar en los ejemplos sys.resource_stats siguientes.

El ejemplo siguiente devuelve todas las bases de datos cuyo promedio de uso de proceso fue al menos del 80 % durante la semana pasada.

DECLARE @s datetime;  
DECLARE @e datetime;  
SET @s= DateAdd(d,-7,GetUTCDate());  
SET @e= GETUTCDATE();  
SELECT database_name, AVG(avg_cpu_percent) AS Average_Compute_Utilization   
FROM sys.resource_stats   
WHERE start_time BETWEEN @s AND @e  
GROUP BY database_name  
HAVING AVG(avg_cpu_percent) >= 80;

Consulte también