SQLロックをSQL Server 2008でそのロックに関連付けられているユーザーと共に見つける最良の方法は何ですか?
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