sql server怎样查询某一阻塞或x锁持续的时间
发布网友
发布时间:2022-04-11 15:21
我来回答
共2个回答
热心网友
时间:2022-04-11 16:51
1、
select session_id, --某个会话
wait_ration_ms / 1000, --等待秒数
wait_type, --等待类型,可能是进程间的阻塞,也有可能是等待IO完成
blocking_session_id --被这个会话阻塞的,如果有的话
from sys.dm_os_waiting_tasks
2、进一步的
select wt.session_id, --某个会话
wait_ration_ms / 1000 as 'wait seconds', --等待秒数
wait_type, --等待类型,可能是进程间的阻塞,也有可能是等待IO完成
blocking_session_id, --被这个会话阻塞的,如果有的话
tl.request_mode, --请求模式,比如S、IX、X
tl.request_type, --请求类型,比如Lock
tl.request_status --是否grant
from sys.dm_os_waiting_tasks wt
left join sys.dm_tran_locks tl
on wt.session_id = tl.request_session_id