sys.dm_db_resource_stats (Azure SQL Database)
S’applique à : Azure SQL Database
Retourne l’UC, les E/S et la consommation de mémoire pour une base de données dans Azure SQL Database. Une ligne existe toutes les 15 secondes, même s’il n’y a pas d’activité. Les données historiques sont conservées pendant environ une heure.
Remarque
sys.dm_db_resource_stats
n’est pas pris en charge dans Azure SQL Managed Instance. Utilisez plutôt l’affichage catalogue sys.server_resource_stats .
Colonnes | Type de données | Description |
---|---|---|
end_time |
datetime | Heure UTC indiquant la fin de l'intervalle de rapports actuel. |
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 de données en pourcentage 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) | Nombre moyen d’écritures du journal des transactions (en Mo/s) en pourcentage de la limite du niveau de service. |
avg_memory_usage_percent |
décimal (5,2) | Utilisation moyenne de la mémoire en pourcentage de la limite de la couche de service. Cela inclut la mémoire utilisée pour les pages du pool de mémoires tampons et le stockage d’objets OLTP en mémoire. |
xtp_storage_percent |
décimal (5,2) | Utilisation du stockage pour OLTP en mémoire sous la forme d’un pourcentage de limite de pool à 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 sur des tables optimisées en mémoire. Retourne 0 si OLTP en mémoire n’est pas utilisé dans la base de données. |
max_worker_percent |
décimal (5,2) | Nombre maximal de workers simultanés (demandes) en pourcentage de la limite du niveau de service de la base de données. |
max_session_percent |
décimal (5,2) | Nombre maximal de sessions simultanées en pourcentage de la limite du niveau de service de la base de données. |
dtu_limit |
int | Paramètre DTU de base de données maximal actuel pour cette base de données pendant cet intervalle. Pour les bases de données utilisant le modèle vCore, cette colonne est NULL . |
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 est NULL . |
avg_instance_cpu_percent |
décimal (5,2) | Utilisation moyenne du processeur par l’instance du moteur de base de données hébergeant le pool, sous la forme d’un pourcentage de limite d’instance. Signalé à une minute de granularité et inclut l’utilisation du processeur par les charges de travail utilisateur et interne. |
avg_instance_memory_percent |
décimal (5,2) | Utilisation moyenne de la mémoire pour l’instance SQL Server hébergeant la base de données. Inclut l’utilisation de la mémoire par les charges de travail utilisateur et interne. |
avg_login_rate_percent |
décimal (5,2) | Identifié à titre d'information uniquement. Non pris en charge. La compatibilité future n’est pas garantie. |
replica_role |
int | Représente le rôle de réplica actuel. 0 - Principal 1 - Haute disponibilité (HAUTE DISPONIBILITÉ) secondaire 2 - Redirecteur de géoréplication 3 - Réplica nommé Signale 1 lorsqu’il est connecté avec ReadOnly l’intention d’une base de données secondaire lisible. Si vous vous connectez à un géo-secondaire sans spécifier d’intention ReadOnly , signale 2 pour refléter une connexion à un redirecteur de géoréplication. Si vous vous connectez à un réplica nommé sans spécifier l’intention ReadOnly , les rapports 3. |
Conseil
Pour plus de contexte sur ces limites et ces niveaux de service, consultez les rubriques Niveaux de service, Réglage manuel des performances des requêtes dans Azure SQL Database et limites des ressources et gouvernance des ressources SQL Database.
autorisations
Cette vue nécessite VIEW DATABASE STATE
une autorisation.
Notes
Les données retournées par sys.dm_db_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.
Si la base de données a été basculée vers un autre serveur au cours des 60 dernières minutes, la vue retourne uniquement les données pour le moment depuis ce basculement.
Pour une vue moins granulaire de ces données avec une période de rétention plus longue, utilisez la sys.resource_stats
vue catalogue dans Azure SQL Database. Cette vue capture des données toutes les 5 minutes et conserve 14 jours d'historique des données. Pour plus d’informations, consultez sys.resource_stats.
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.
Exemples
L’exemple suivant retourne les données d’utilisation des ressources classées par la date la plus récente pour la base de données actuellement connectée dans Azure SQL Database ou Azure SQL Managed Instance.
SELECT * FROM sys.dm_db_resource_stats ORDER BY end_time DESC;
L'exemple suivant identifie la consommation moyenne en UDBD, sous forme de pourcentage de la limite maximale autorisée d’UDBD du niveau de performance de la base de données utilisateur sur la dernière heure. Envisagez d'augmenter le niveau de performance si ces pourcentages sont souvent proches de 100 %.
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;
L'exemple suivant retourne les valeurs moyennes et maximales de pourcentage de CPU, d’E/S de données et de journaux et de consommation de mémoire sur la dernière heure.
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;