sys.syslockinfo (Transact-SQL)

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 les vues système équivalentes, consultez Mappage des tables système SQL Server 2000 avec les vues système SQL Server 2005. 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 fonction a été modifiée par rapport aux versions précédentes de SQL Server. Pour plus d'informations, consultez Changements essentiels dans les fonctionnalités du moteur de base de données de SQL Server 2012.

Nom de la colonne

Type de données

Description

rsc_text

nchar(32)

Description textuelle d'une ressource de verrouillage. 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 la ressource de verrou pour générer leur propre ressource de verrou formatée, et pour exécuter des jointures automatiques 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 Microsoft Moteur de base de données SQL Server de la session qui demande le verrou.

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 un événement de générateur de profils

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

Nécessite l'autorisation VIEW SERVER STATE sur le serveur.

Voir aussi

Référence

Mappage des tables système avec les vues du système (Transact-SQL)

Vues de compatibilité (Transact-SQL)