如何在SQL Server 2008中找到SQL锁以及与该锁相关的用户?
select * from sys.dm_tran_locks
会列出所有当前的锁,包括已授予或挂起的,并显示请求会话ID。select * from sys.dm_exec_sessions
会列出所有当前的会话,包括客户端主机和登录名。但这种方式很少是您想要的。为了更易于理解,请使用 Activity Monitor 并观察其中报告的阻塞情况。
在主数据库上运行此命令:
SELECT spid,blocked,program_name,loginame,hostname,lastwaittype,*
FROM master.dbo.SysProcesses
WHERE blocked <> 0