syslockinfo
Contains information on all granted, converting, and waiting lock requests. This table is a denormalized tabular view of internal data structures of the lock manager, and is stored only in the master database.
Column name | Data type | Description |
---|---|---|
rsc_text | nchar(32) | Textual description of a lock resource. Contains a portion of the resource name. |
rsc_bin | binary(16) | Binary lock resource. Contains the actual lock resource that is contained in the lock manager. This column is included for tools that are aware of the lock resource format for generating their own formatted lock resource, and for performing self joins on syslockinfo. |
rsc_valblk | binary(16) | Lock value block. Some resource types may include additional data in the lock resource that is not hashed by the lock manager to determine ownership of a particular lock resource. For example, page locks are not owned by a particular object ID. For lock escalation and other purposes, however, the object ID of a page lock may be placed in the lock value block. |
rsc_dbid | smallint | Database ID associated with the resource. |
rsc_indid | smallint | Index ID associated with the resource, if appropriate. |
rsc_objid | int | Object ID associated with the resource, if appropriate. |
rsc_type | tinyint | Resource type. Can be:
1 = NULL Resource (not used). |
rsc_flag | tinyint | Internal resource flags. |
req_mode | tinyint | Lock request mode. This column is the lock mode of the requester and represents either the granted mode, or the convert or waiting mode. Can be:
0 = NULL. No access is granted to the resource. Serves as a placeholder. |
req_status | tinyint | Status of the lock request. Can be:
1 = Granted. |
req_refcnt | smallint | Lock reference count. Each time a transaction asks for a lock on a particular resource, a reference count is incremented. The lock cannot be released until the reference count equals 0. |
req_cryrefcnt | smallint | Reserved for future used. Always set to 0. |
req_lifetime | int | Lock lifetime bitmap. During certain query processing strategies, locks must be maintained on resources until the query processor has completed a particular phase of the query. The lock lifetime bitmap is used by the query processor and transaction manager to denote groups of locks that can be released when a certain phase of a query is completed. Certain bits in the bitmap are used to denote locks that are held until the end of a transaction, even if their reference count equals 0. |
req_spid | int | Internal Microsoft® SQL Server™ process ID of the session requesting the lock. |
req_ecid | int | Execution context ID (ECID). Used to denote which thread in a parallel operation owns a particular lock. |
req_ownertype | smallint | Type of object associated with the lock. Can be one of the following:
1 = Transaction. Note that 3 and 4 represent a special version of session locks, tracking database and filegroup locks respectively. |
req_transactionID | bigint | Unique transaction ID used in syslockinfo and in profiler event |
req_transactionUOW | uniqueidentifier | Identifies the Unit of Work ID (UOW) of the DTC transaction. For non MS DTC transactions, UOW is set to 0. |