sys.resource_stats (Azure SQL Database)

S’applique à :base de données Azure SQL

Renvoie les données de stockage et l’utilisation d’UC pour une base de données dans Azure SQL Database. Les données sont collectées et agrégées dans des intervalles de cinq minutes. Pour chaque base de données utilisateur, il existe une ligne par fenêtre de création de rapports de cinq minutes dans laquelle il y a un changement dans la consommation des ressources. Les données retournées incluent l’utilisation du processeur, la modification de la taille de stockage et la modification de la référence SKU de base de données. Les bases de données inactives sans modification peuvent ne pas avoir de lignes toutes les cinq minutes. Les données historiques sont conservées pendant environ 14 jours.

Notes

Cette vue de gestion dynamique s’applique uniquement à Azure SQL Base de données. Pour obtenir une vue équivalente pour Azure SQL Managed Instance, utilisez sys.server_resource_stats.

Colonnes Type de données Description
start_time datetime Heure UTC indiquant le début de l’intervalle de création de rapports de cinq minutes.
end_time datetime Heure UTC indiquant la fin de l’intervalle de création de rapports de cinq minutes.
database_name nvarchar(128) Nom de la base de données utilisateur.
sku nvarchar(128) Niveau de service de la base de données. Les valeurs possibles sont les suivantes :

De base

Standard

Premium

Usage général

Critique pour l’entreprise
storage_in_megabytes float Taille de stockage maximale en mégaoctets pour la période, y compris les données de base de données, les index, les procédures stockées et les métadonnées.
avg_cpu_percent decimal(5,2) Utilisation moyenne du calcul en pourcentage de la limite de la couche de service.
avg_data_io_percent decimal(5,2) Utilisation moyenne des E-S en pourcentage en fonction de la limite du niveau de service. Pour les bases de données Hyperscale, consultez Données E/S dans les statistiques d’utilisation des ressources.
avg_log_write_percent decimal(5,2) Utilisation moyenne de la ressource d'écriture en pourcentage de la limite de la couche de service.
max_worker_percent decimal(5,2) Nombre maximal de workers simultanés (demandes) en pourcentage en fonction de la limite du niveau de service de la base de données.

Le maximum est actuellement calculé pour l’intervalle de cinq minutes en fonction des échantillons de 15 secondes du nombre de workers simultanés.
max_session_percent decimal(5,2) Nombre maximal de sessions simultanées en pourcentage en fonction de la limite du niveau de service de la base de données.

Le maximum est actuellement calculé pour l’intervalle de cinq minutes en fonction des échantillons de 15 secondes du nombre de sessions simultanées.
dtu_limit int Paramètre DTU maximal de base de données actuel pour cette base de données pendant cet intervalle.
xtp_storage_percent décimal (5,2) L’utilisation du stockage pour In-Memory OLTP en pourcentage de la limite du niveau de service (à la fin de l’intervalle de création de rapports). Cela inclut la mémoire utilisée pour le stockage des objets OLTP In-Memory suivants : tables optimisées en mémoire, index et variables de table. Il inclut également la mémoire utilisée pour le traitement des opérations ALTER TABLE. Pour plus d’informations, consultez Surveiller In-Memory OLTP.

Retourne 0 si In-Memory OLTP n’est pas utilisé dans la base de données.
avg_login_rate_percent décimal (5,2) Identifié à titre d'information uniquement. Non pris en charge. La compatibilité future n'est pas garantie.
avg_instance_cpu_percent décimal (5,2) Utilisation moyenne du processeur de base de données en pourcentage du processus SQL Database.
avg_instance_memory_percent décimal (5,2) Utilisation moyenne de la mémoire de base de données en pourcentage du processus SQL Database.
cpu_limit décimal (5,2) Nombre de vCores pour cette base de données pendant cet intervalle. Pour les bases de données utilisant le modèle basé sur DTU, cette colonne est NULL.
allocated_storage_in_megabytes float Quantité d’espace de fichier mis en forme en Mo mis à disposition pour le stockage des données de base de données. L’espace de fichier mis en forme est également appelé espace de données alloué. Pour plus d’informations, consultez : Gestion de l’espace de fichiers dans SQL Database

Conseil

Pour plus d’informations sur ces limites et niveaux de service, consultez les rubriques Niveaux de service.

Autorisations

Dans Azure SQL base de données, cette vue est disponible pour tous les rôles d’utilisateur disposant des autorisations nécessaires pour se connecter à la base de données virtuellemaster.

Remarques

Les données retournées par sys.resource_stats sont exprimées en pourcentage des limites maximales autorisées pour le niveau de service/niveau de performance que vous exécutez.

Lorsqu’une base de données est membre d’un pool élastique, les statistiques de ressources présentées sous forme de valeurs de pourcentage sont exprimées en pourcentage de la limite maximale pour les bases de données définies dans la configuration du pool élastique.

Pour obtenir une vue plus précise de ces données, utilisez sys.dm_db_resource_stats la vue de gestion dynamique dans une base de données utilisateur. Cette vue capture des données toutes les 15 secondes et conserve 1 heure d'historique des données. Pour plus d’informations, consultez sys.dm_db_resource_stats (base de données Azure SQL).

Notes

Pour plus d’informations sur la résolution des problèmes d’utilisation du processeur à l’aide des vues de gestion dynamique, consultez Identifier les problèmes de performances du processeur dans Microsoft Azure SQL Database et Azure SQL Managed Instance performances.

Pour passer en revue les événements récents de mémoire insuffisante, utilisez sys.dm_os_out_of_memory_events.

Exemples

Vous devez être connecté à la master base de données sur le serveur logique pour interroger sys.resource_stats.

L’exemple suivant retourne toutes les bases de données qui ont une moyenne d’au moins 80 % de l’utilisation du processeur au cours de la dernière semaine.

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

Voir aussi

Étapes suivantes

En savoir plus sur les concepts associés dans les articles suivants :