sys.resource_stats (Azure SQL Database)

S’applique à : Azure SQL Database

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 pour chaque fenêtre de création de rapports de cinq minutes dans laquelle il existe une modification de 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 pour chaque intervalle de cinq minutes. Les données historiques sont conservées pendant environ 14 jours.

Remarque

Cette vue de gestion dynamique s’applique uniquement à Azure SQL Database. Pour 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 décimal(5,2) Utilisation moyenne du calcul en pourcentage de la limite de la couche de service.
avg_data_io_percent décimal(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 Les E/S de données dans les statistiques d’utilisation des ressources.
avg_log_write_percent décimal(5,2) Utilisation moyenne de la ressource d'écriture en pourcentage de la limite de la couche de service.
max_worker_percent décimal(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.

La valeur maximale est actuellement calculée pour l’intervalle de cinq minutes en fonction des échantillons de 15 secondes du nombre simultané de workers.
max_session_percent décimal(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.

La valeur maximale est actuellement calculée 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 de base de données maximal actuel pour cette base de données pendant cet intervalle.
xtp_storage_percent décimal (5,2) Utilisation du stockage pour OLTP en mémoire 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 en mémoire suivants : tables, index et variables de table optimisées en mémoire. Il inclut également la mémoire utilisée pour le traitement des opérations ALTER TABLE. Pour plus d’informations, consultez Monitor In-Memory OLTP.

Retourne 0 si OLTP en mémoire 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 DTU, cette colonne a la valeur NULL.
allocated_storage_in_megabytes float Quantité d’espace de fichier mis en forme en Mo disponible 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 de contexte sur ces limites et ces niveaux de service, consultez les rubriques Niveaux de service.

autorisations

Dans Azure SQL Database, cette vue est disponible pour tous les rôles d’utilisateur disposant des autorisations de connexion à la base de données virtuelle master .

Notes

Les données retournées par sys.resource_stats sont exprimées sous la forme d’un pourcentage des limites maximales autorisées pour le niveau de service/niveau de performances 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 une vue plus granulaire 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 (Azure SQL Database).

Remarque

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

Pour passer en revue les événements de mémoire obsolètes récents, 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 :