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

La documentation utilise le terme B-tree généralement en référence aux index. Dans les index rowstore, le Moteur de base de données implémente une arborescence B+. Cela ne s’applique pas aux index columnstore ou aux index sur les tables optimisées en mémoire. 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%';