web-dev-qa-db-ja.com

SQL Server 2008でSQLロックを見つける最良の方法

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

18
Gaurav Mittal

select * from sys.dm_tran_locks は、許可または保留中のすべての現在のロックを、要求しているセッションIDとともにリストします。 select * from sys.dm_exec_sessions は、クライアントのホストとログイン名を含む現在のすべてのセッションをリストします。しかし、このようにすることはあなたが望むことはめったにありません。より消化しやすい形式の場合は、 Activity Monitor を使用して、そこに報告されているブロックを監視します。

16
Remus Rusanu

これをマスターデータベースに対して実行します。

SELECT spid,blocked,program_name,loginame,hostname,lastwaittype,* 
FROM master.dbo.SysProcesses
WHERE blocked <> 0
4
Carlos