sys.dm_tran_locks
返回有关当前活动的锁管理器资源的信息。向锁管理器发出的已授予锁或正等待授予锁的每个当前活动请求分别对应一行。
列名 | 数据类型 | 说明 | ||
---|---|---|---|---|
resource_type |
nvarchar(60) |
表示资源类型。该值可以是下列值之一:DATABASE、FILE、OBJECT、PAGE、KEY、EXTENT、RID、APPLICATION、METADATA、HOBT 或 ALLOCATION_UNIT。 |
||
resource_subtype |
nvarchar(60) |
表示 resource_type 的子类型。从技术角度而言,可以在未持有父类型的非子类型化锁的情况下获取子类型锁。不同的子类型之间以及与非子类型化的父类型之间都不会发生冲突。并非所有资源类型都有子类型。 |
||
resource_database_id |
int |
此资源位于其范围之内的数据库的 ID。由锁管理器处理的所有资源均按该数据库 ID 划分范围。 |
||
resource_description |
nvarchar(256) |
资源的说明,其中只包含从其他资源列中无法获取的信息。 |
||
resource_associated_entity_id |
bigint |
数据库中与资源相关联的实体的 ID。该值可以是对象 ID、Hobt ID 或分配单元 ID,具体视资源类型而定。 |
||
resource_lock_partition |
Int |
已分区锁资源的锁分区 ID。对于未分区锁资源,该值为 0。 |
||
request_mode |
nvarchar(60) |
请求的模式。对于已授予的请求,为已授予模式;对于等待请求,为正在请求的模式。 |
||
request_type |
nvarchar(60) |
请求类型。该值为 LOCK。 |
||
request_status |
nvarchar(60) |
该请求的当前状态。可能值为 GRANTED、CONVERT 或 WAIT。 |
||
request_reference_count |
smallint |
返回同一请求程序已请求该资源的近似次数。 |
||
request_lifetime |
int |
标识为仅供参考。不提供支持。不保证以后的兼容性。 |
||
request_session_id |
int |
当前拥有该请求的会话 ID。对于分布式事务和绑定事务,拥有请求的会话 ID 可能不同。该值为 -2 时,指示该请求属于孤立的分布式事务。该值为 -3 时,指示请求属于延迟的恢复事务,例如因其回滚未能成功完成而延迟恢复该回滚的事务。 |
||
request_exec_context_id |
int |
当前拥有该请求的进程的执行上下文 ID。 |
||
request_request_id |
int |
当前拥有该请求的进程的请求 ID(批处理 ID)。每当事务的多个活动的结果集 (MARS) 连接更改时,该值便会更改。 |
||
request_owner_type |
nvarchar(60) |
拥有请求的实体类型。锁管理器请求可由各种实体所拥有。可能的值有: TRANSACTION = 请求由事务所有。 CURSOR = 请求由游标所有。 SESSION = 请求由用户会话所有。 SHARED_TRANSACTION_WORKSPACE = 请求由事务工作区的共享部分所有。 EXCLUSIVE_TRANSACTION_WORKSPACE = 请求由事务工作区的排他部分所有。
|
||
request_owner_id |
bigint |
请求的特定所有者 ID。该值仅用于将自己作为 ID 的事务。 |
||
request_owner_guid |
uniqueidentifier |
此请求的特定所有者的 GUID。该值仅供分布式事务使用,在该事务中,该值与事务的 MS DTC GUID 相对应。 |
||
request_owner_lockspace_id |
nvarchar(32) |
标识为仅供参考。不提供支持。不保证以后的兼容性。 该值表示请求程序的锁空间 ID。锁空间 ID 确定两个请求程序是否相互兼容以及在两者冲突的模式下是否可以向其授予锁。 |
||
lock_owner_address |
varbinary(8) |
用于跟踪该请求的内部数据结构的内存地址。该列可以与 sys.dm_os_waiting_tasks 中的 resource_address 列联接。 |
资源类型:
资源类型 | 资源说明 | Resource_associated_entity_id |
---|---|---|
DATABASE |
表示数据库。 |
不适用 |
FILE |
表示数据库文件。此文件可以是数据文件,也可以是日志文件。 |
不适用 |
OBJECT |
表示数据库对象。此对象可以是数据表、视图、存储过程、扩展存储过程或任何具有对象 ID 的对象。 |
对象 ID |
PAGE |
表示数据文件中的单页。 |
HoBt ID。该值与 sys.partitions.hobt_id 相对应。PAGE 资源并不总是有 HoBt ID,因为 HoBt ID 是可由调用方提供的额外信息,而有些调用方不能提供该信息。 |
KEY |
表示索引中的一行。 |
HoBt ID。该值与 sys.partitions.hobt_id 相对应。 |
EXTENT |
表示数据文件区。区是由八个连续页构成的组。 |
不适用 |
RID |
表示堆中的物理行。 |
HoBt ID。该值与 sys.partitions.hobt_id 相对应。RID 资源并不总是有 HoBt ID,因为 HoBt ID 是可由调用方提供的额外信息,而有些调用方不能提供该信息。 |
APPLICATION |
表示指定了应用程序的资源。 |
不适用 |
METADATA |
表示元数据信息。 |
不适用 |
HOBT |
表示堆或 B 树。它们是基本访问路径结构。 |
HoBt ID。该值与 sys.partitions.hobt_id 相对应。 |
ALLOCATION_UNIT |
表示一组相关页,如索引分区。每个分配单元都包含一个索引分配映射 (IAM) 链。 |
分配单元 ID。该值与 sys.allocation_units.allocation_unit_id 相对应。 |
sys.dm_exec_requests
动态管理视图和函数 (Transact-SQL)
sys.dm_os_memory_clerks
sys.dm_os_sys_info
(Transact-SQL)
sys.dm_exec_query_memory_grants
sys.dm_exec_query_plan
sys.dm_exec_sql_text
(Transact-SQL)