假设我今天过得很糟糕,而且我没有信心。还假设我用
set transaction isolation level read uncommitted
编写了一个查询。它运行了几分钟后,我担心我搞砸了一些东西并可能导致锁定。通过打开另一个查询窗口,我如何验证我的查询绝对不会导致锁定?
假设我在任何地方都拥有完全的管理员级别访问权限。 Adam Mechanic 和 Brent Ozar 的经典程序已经安装了。
要查看会话 67 持有的锁(例如),您可以使用
SELECT *
FROM sys.dm_tran_locks
WHERE request_session_id = 67
并查看会话 67 是否导致其他会话阻塞,您可以使用
SELECT *
FROM sys.dm_os_waiting_tasks
WHERE blocking_session_id = 67 AND session_id <> blocking_session_id