SQL Serverでデッドロックの調査で苦労したので調査に使ったSQLなどをまとめておく。 SQL Serverにおいては、ロックの有無を確認するだけならsys.dm_tran_locksシステムビューですぐに確認できる。 しかし、sys.dm_tran_locksだけでは、テーブルロックや行ロックなどの情報がまとめて提供され、ロックされている対象も オブジェクトIDでの表記になるため非常にわかりにくいものになっています。 ですので、単純にSELECTするのではなく、IDからオブジェクト名を取得したり、オブジェクトの種類によって 別のシステムビューから情報を取得する必要があります。 手を加えたSQLが以下のようになります。 SELECT resource_type AS type --オブジェクトの種類 ,resource_associated_entity_id as entity_i