Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
S’applique à :SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
Point de terminaison d’analytique SQL dans Microsoft Fabric
Entrepôt dans Microsoft Fabric
Base de données SQL dans Microsoft Fabric
Les objets de gestion dynamique incluent les vues de gestion dynamique (DMV) et les fonctions de gestion dynamique (DMF). Ces objets renvoient des informations sur l’état du serveur que vous pouvez utiliser pour surveiller la santé d’une instance serveur, diagnostiquer des problèmes et ajuster les performances.
Les objets de gestion dynamique sont soit à portée de serveur , soit à portée de base de données.
Requête des objets de gestion dynamique
Tous les objets de gestion dynamique existent dans le sys schéma et suivent la convention dm_*de nommage .
Lorsque vous utilisez un objet de gestion dynamique, vous devez préfixer le nom de l’objet en utilisant le sys schéma. Par exemple, pour interroger la dm_os_wait_stats vue de gestion dynamique, lancez la requête suivante :
SELECT wait_type,
wait_time_ms
FROM sys.dm_os_wait_stats;
Le tableau suivant décrit comment référencer les objets de gestion dynamique dans Transact-SQL :
| Référence T-SQL | Vue de gestion dynamique | Fonction de gestion dynamique |
|---|---|---|
| Dénomination en une seule partie | Non | Non |
| Dénomination en deux parties | Oui | Oui |
| Dénomination en trois parties | Oui | Oui |
| Dénomination en quatre parties | Oui | Non |
Remarques
Les objets de gestion dynamique renvoient des données d’état internes, spécifiques à chaque implémentation. Leurs schémas et les données qu’ils renvoyent pourraient évoluer lors des prochaines versions du Moteur de base de données. Par conséquent, les objets de gestion dynamique dans les futures versions pourraient ne pas être compatibles avec les objets de gestion dynamique de cette version.
Par exemple, dans les futures versions du Moteur de base de données, Microsoft pourrait enrichir la définition de toute vue de gestion dynamique en ajoutant des colonnes à la fin de la liste de colonnes. N’utilisez pas la syntaxe SELECT * FROM dynamic_management_view_name dans le code de production car le nombre de colonnes retournées pourrait changer et casser votre application.
Permissions
Interroger un objet de gestion dynamique nécessite SELECT une autorisation sur l'objet, et dépend de la portée de l'objet et de la version du Moteur de base de données SQL Server :
| Version | Portée du serveur | Étendue de la base de données |
|---|---|---|
| SQL Server 2019 (15.x) et versions antérieures | VIEW SERVER STATE |
VIEW DATABASE STATE |
| SQL Server 2022 (16.x) et versions ultérieures |
VIEW SERVER PERFORMANCE STATE, ou VIEW SERVER SECURITY STATE pour les objets liés à la sécurité |
VIEW DATABASE PERFORMANCE STATE, ou VIEW DATABASE SECURITY STATE pour les objets liés à la sécurité |
Pour restreindre l’accès de façon sélective, créez l’utilisateur ou connectez-vous master , puis refusez cette permission SELECT sur les vues ou fonctions de gestion dynamique spécifiques que vous souhaitez bloquer. L’utilisateur ne peut pas sélectionner parmi ces objets par la suite, quel que soit le contexte de la base de données.
Note
DENY est prioritaire par rapport à GRANT. Par exemple, un utilisateur accordé VIEW SERVER PERFORMANCE STATE mais refusé VIEW DATABASE PERFORMANCE STATE peut voir des informations au niveau serveur mais pas des informations au niveau de la base de données.