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)