开发者社区> 问答> 正文

技术运维问题-SQL Server使用-RDS for SQL Server 查看锁情况


用户在遇到有 session 出现堵塞的情况下,可以通过 sys.dm_tran_locks 系统视图查看锁的情况( 详细系统视图信息请
点击参考)。
由于该视图所述信息较多,建议可以通过以下的 SQL 查看锁信息:
1、 select str(request_session_id, 4, 0) as spid,
convert(varchar(20), db_name(resource_database_id)) as DB_Name,
case when resource_database_id = db_id() and resource_type = 'OBJECT'
then convert(char(20), object_name(resource_Associated_Entity_id))
else convert(char(20), resource_Associated_Entity_id)
end as object,
convert(varchar(12), resource_type) as resrc_type,
convert(varchar(12), request_type) as req_type,
convert(char(3), request_mode) as mode,
convert(varchar(8), request_status) as status
from sys.dm_tran_locks
order by request_session_id desc;





查询的截图,显示如下图,mode 列是锁的类型。




2、 select request_session_id sessionid,
resource_type type,
convert(varchar(20), db_name(resource_database_id)) as db_name,
OBJECT_NAME(resource_associated_entity_id, resource_database_id) objectname,
request_mode rmode,
request_status rstatus
from sys.dm_tran_locks
where resource_type in ('OBJECT')





查询结果如下图,可以看到当前那个表有锁。
查询实例显示,表 student 目前有X锁(排它锁)


展开
收起
梨好橙 2018-09-29 22:06:12 2263 0
0 条回答
写回答
取消 提交回答
问答排行榜
最热
最新

相关电子书

更多
企业运维之云原生和Kubernetes 实战 立即下载
可视化架构运维实践 立即下载
2021云上架构与运维峰会演讲合集 立即下载