SQL Server, objet Locks
S'applique à : SQL Server
L’objet SQLServer :Locks dans Microsoft SQL Server fournit des informations sur les verrous SQL Server sur des types de ressources individuels. Des verrous sont placés sur les ressources SQL Server , telles que les lignes lues ou modifiées lors d'une transaction, pour empêcher d'autres transactions d'utiliser simultanément les ressources. Par exemple, si un verrou exclusif (X) est mis en place dans une ligne de table par une transaction, aucune autre transaction ne peut modifier cette ligne jusqu'à ce que le verrou soit débloqué. Un nombre minimal de verrous favorise la concurrence, ce qui peut améliorer les performances. Plusieurs instances de l'objet Verrous peuvent être surveillées simultanément, chaque instance représentant un verrou sur un type de ressource.
Ce tableau décrit les compteurs de verrous SQL Server.
Compteurs de verrous de SQL Server | Description |
---|---|
Temps d'attente moyen (ms) | Durée d'attente moyenne (en millisecondes) pour chaque demande de verrou qui se termine par une attente. |
Base de temps d’attente moyen | Réservé exclusivement à un usage interne. |
Requêtes de verrous/seconde | Nombre de nouveaux verrous et de conversions de verrous par seconde demandés par le gestionnaire de verrous. |
Délais d’expiration du verrouillage (délai d’expiration > 0)/s | Nombre de demandes de verrous par seconde ayant expiré, demandes de verrous NOWAIT exclues. |
Dépassement de l'attente des verrous/seconde | Nombre de demandes de verrous par seconde ayant expiré, demandes de verrous NOWAIT incluses |
Temps d'attente des verrous (ms) | Temps d'attente total (en millisecondes) pour les verrous lors de la dernière seconde |
Attente de verrous/seconde | Nombre de requêtes de verrous par seconde qui ont exigé une attente de l'utilisateur. |
Nombre de blocages/seconde | Nombre de requêtes de verrous par seconde qui se sont terminées par un blocage. |
SQL Server peut verrouiller ces ressources.
Élément | Description |
---|---|
_Total | Informations pour tous les verrous. |
AllocUnit | Verrou sur une unité d'allocation. |
Application | Verrou appliqué à une ressource d'application. |
Sauvegarde de la base de données | Verrou sur une base de données, y compris tous ses objets. |
Extension | Verrou sur un groupe contigu de 8 pages. |
Fichier | Verrou sur un fichier de base de données |
Tas/B-tree | Tas ou B-tree. Verrou sur un tas de pages de données ou sur la structure de l’arborescence B d’un index. |
Clé | Verrou sur une ligne d'index |
Métadonnées | Verrou sur une partie des informations de catalogue (appelée également métadonnées). |
Object | Verrou sur une table, une procédure stockée, une vue, etc. y compris toutes les données et tous les index. L’objet peut être tout ce qui a une entrée dans sys.all_objects . |
OIB | Ressource de verrouillage pour les verrous de construction d’index en ligne, en particulier pour une table de suivi LOB de construction d’index en ligne. |
Page | Verrou sur une page de 8 kilo-octets (Ko) dans une base de données. |
RID | ID de ligne. Verrou sur une seule ligne dans un segment de mémoire. |
RowGroup | Ressource de verrouillage pour un groupe de lignes d’index columnstore. |
Xact | Ressource de verrouillage pour une transaction. |
Remarque
De manière générale, la documentation SQL Server utilise le terme B-tree en référence aux index. Dans les index rowstore, le moteur de base de données implémente une structure B+. Cela ne s’applique pas aux index columnstore ou aux index sur les tables à mémoire optimisée. Pour plus d’informations, consultez le Guide de conception et d’architecture d’index SQL Server et Azure SQL.
Exemple
Vous commencez à explorer les compteurs de performances des requêtes dans cet objet en utilisant cette requête T-SQL sur la vue de gestion dynamique sys.dm_os_performance_counters :
SELECT * FROM sys.dm_os_performance_counters
WHERE object_name LIKE '%Locks%';