sys.syslockinfo (Transact-SQL)

S’applique à :SQL Server

Contient des informations sur toutes les demandes de verrou accordées, en conversion et en attente.

Important

Cette table système SQL Server 2000 est incluse sous la forme d'une vue pour la compatibilité descendante. Nous vous recommandons d'utiliser les vues système SQL Server actuelle. Pour trouver la ou les vues système équivalentes, consultez Mappage des tables système aux vues système (Transact-SQL). Cette fonctionnalité sera supprimée dans une prochaine version de Microsoft SQL Server. Évitez d'utiliser cette fonctionnalité dans de nouveaux travaux de développement, et prévoyez de modifier les applications qui utilisent actuellement cette fonctionnalité.

Important

Cette fonctionnalité a changé depuis les versions antérieures de SQL Server. Pour plus d’informations, consultez Modifications cassants apportées aux fonctionnalités du moteur de base de données dans SQL Server 2016.

Nom de la colonne Type de données Description
rsc_text nchar(32) Description textuelle d’une ressource de verrou. Contient une partie du nom de la ressource.
rsc_bin binary(16) Ressource de verrouillage binaire. Contient la ressource de verrouillage réelle contenue dans le gestionnaire de verrouillage. Cette colonne est incluse pour les outils qui connaissent le format de ressource de verrouillage pour générer leur propre ressource de verrouillage mise en forme et pour effectuer des jointures autonomes sur syslockinfo.
rsc_valblk binary(16) Bloc de valeur de verrouillage. Certains types de ressources peuvent inclure des données supplémentaires dans la ressource de verrouillage qui n'est pas hachée par le gestionnaire de verrouillage, afin de déterminer le propriétaire d'une ressource de verrouillage particulière. Par exemple, les verrous de page ne sont pas détenus par un ID d'objet particulier. Pour l'escalade de verrous et d'autres utilisations. Toutefois, l'ID d'objet d'un verrou de page peut être inclus dans le bloc de valeurs de verrouillage.
rsc_dbid smallint ID de la base de données associé à la ressource.
rsc_indid smallint ID de l'index associé à la ressource (le cas échéant).
rsc_objid int ID de l'objet associé à la ressource (le cas échéant).
rsc_type tinyint Type de ressource :

1 = Ressource NULL (inutilisée)

2 = Base de données

3 = Fichier

4 = Index

5 = Table

6 = Page

7 = Clé

8 = Extension

9 = RID (ID de ligne)

10 = Application
rsc_flag tinyint Indicateurs de ressource interne.
req_mode tinyint Mode de requête de verrouillage. Cette colonne correspond au mode de verrouillage du demandeur et représente le mode Accordé, le mode En conversion ou le mode En attente.

0 = NULL. Aucun accès n'est accordé à la ressource. Sert d'espace réservé.

1 = Sch-S (Stabilité du schéma). Garantit que l'élément d'un schéma, tel qu'une table ou un index, n'est pas supprimé alors qu'une session contient un verrou de stabilité du schéma sur l'élément du schéma.

2 = Sch-M (Modification du schéma). Doit être détenu par toute session destinée à modifier le schéma de la ressource spécifiée. Garantit qu'aucune autre session ne fait référence à l'objet indiqué.

3 = S (Partagé). La session détenant le verrou peut disposer d'un accès partagé à la ressource.

4 = U (Mise à jour). Indique qu'un verrouillage de mise à jour a été posé sur des ressources qui peuvent finalement être mises à jour. Utilisé pour empêcher l'occurrence d'une forme de blocage courante qui apparaît lorsque plusieurs sessions verrouillent les ressources pour une mise à jour potentielle ultérieure.

5 = X (Exclusif). La session détenant le verrou peut disposer d'un accès exclusif à la ressource.

6 = IS (Partage intentionnel). Indique l'intention de placer des verrous S sur certaines ressources subordonnées dans la hiérarchie de verrouillage.

7 = IU (Mise à jour intentionnelle). Indique l'intention de placer des verrous U sur certaines ressources subordonnées dans la hiérarchie de verrouillage.

8 = IX (Exclusion intentionnelle). Indique l'intention de placer des verrous X sur certaines ressources subordonnées dans la hiérarchie de verrouillage.

9 = SIU (Mise à jour intentionnelle partagée). Signale des accès partagés à une ressource dans le but de poser des verrous de mise à jour sur les ressources subordonnées dans la hiérarchie de verrouillage.

10 = SIX (Partage intentionnel exclusif). Signale des accès partagés à une ressource dans le but de poser des verrous exclusifs sur les ressources subordonnées dans la hiérarchie de verrouillage.

11 = UIX (Mise à jour intentionnelle exclusive). Signale un verrou de mise à jour sur une ressource dans le but de poser des verrous exclusifs sur les ressources subordonnées dans la hiérarchie de verrouillage.

12 = BU. Utilisé par les opérations en bloc.

13 = RangeS_S (Verrou de groupes de clés partagés et de ressources partagées). Indique une analyse de plage sérialisable.

14 = RangeS_U (Verrou de groupes de clés partagés et de ressources de mise à jour). Indique une analyse de mise à jour sérialisable.

15 = RangeI_N (Verrou d'insertion de groupe de clé et de ressources NULL). Utilisé pour tester les étendues avant l'insertion d'une nouvelle clé dans un index.

16 = RangeI_S. Verrou de conversion de groupes de clés, créé par un chevauchement de verrous RangeI_N et S.

17 = RangeI_U. Verrou de conversion de groupes de clés, créé par un chevauchement de verrous RangeI_N et U.

18 = RangeI_X. Verrou de conversion de groupes de clés, créé par un chevauchement de verrous RangeI_N et X.

19 = RangeX_S. Verrou de conversion de groupes de clés, créé par un chevauchement de verrous RangeI_N et RangeS_S.

20 = RangeX_U. Verrou de conversion de groupes de clés, créé par un chevauchement de verrous RangeI_N et RangeS_U.

21 = RangeX_X (Verrou de groupes de clés exclusifs et de ressources exclusives). Verrou de conversion utilisé lors de la mise à jour d'une clé dans une étendue.
req_status tinyint État de la demande de verrou :

1 = Accordée

2 = En conversion

3 = En attente
req_refcnt smallint Nombre de références du verrou. Chaque fois qu'une transaction demande un verrou sur une ressource, un nombre de références est incrémenté. Le verrou ne peut pas être libéré tant que le nombre de références n'est pas égal à 0.
req_cryrefcnt smallint Réservé pour un usage ultérieur. Toujours défini à 0.
req_lifetime int Bitmap de durée de vie du verrou. Au cours de certaines stratégies d'exécution de requêtes, les verrous doivent être maintenus sur les ressources jusqu'à ce que le processeur de requêtes ait terminé une phase précise de la requête. Le bitmap de durée de vie de verrou est utilisé par le processeur de requêtes et le gestionnaire des transactions pour indiquer les verrous qui peuvent être levés lorsqu'une certaine phase de la requête est terminée. Certains bits du bitmap sont utilisés pour indiquer les verrous maintenus jusqu'à la fin d'une transaction, même si leur nombre de références est égal à 0.
req_spid int ID de processus interne Moteur de base de données Microsoft SQL Server de la session demandant le verrouillage.
req_ecid int ID de contexte d'exécution (ECID). Indique le thread qui détient un verrou dans une opération parallèle.
req_ownertype smallint Type d'objet associé au verrou :

1 = Transaction

2 = Curseur

3 = Session

4 = ExSession

Notez que les valeurs 3 et 4 représentent une version spéciale des verrous de session, respectivement pour le suivi des verrous de base de données et de groupe de fichiers.
req_transactionID bigint ID de transaction unique utilisé dans syslockinfo et dans l’événement profileur
req_transactionUOW uniqueidentifier Identifie l'ID de l'UOW (Unit of Work) de la transaction DTC. Pour les transactions non-MS DTC, UOW a la valeur 0.

Autorisations

requièrent l'autorisation VIEW SERVER STATE sur le serveur.

Voir aussi

Mappage des tables système avec les vues du système (Transact-SQL)
Vues de compatibilité (Transact-SQL)