mssql sqlserver sys.dm_tran_locks系统函数简介说明


摘要:
下文讲述”sys.dm_tran_locks”系统函数的用法说明,如下所示:
实验环境:sql server 2008 R2



sys.dm_tran_locks 系统函数功能说明

返回数据库中活动进程的锁资源信息和锁请求信息,查看此系统存储过程将返回sqlserver引擎中锁等待信息。
——————————————————–
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) 用于跟踪该请求的内部数据结构的内存地址


资源类型说明:
DATABASE:数据库
FILE:数据文件 日志文件
OBJECT:数据库对象 数据表、视图、存储过程、扩展存储过程
PAGE: 数据库中页
KEY: 索引行
EXTENT:数据文件区
RID: 物理行
APPLICATION:应用程序资源
METADATA: 元数据信息
HOBT:堆 B树
ALLOCATION_UNIT: 分配单元Id