データベースでロックされているテーブルを見つけるにはどうすればよいですか?提案してください。
sp_lock
(およびsp_lock2
)。ただし、SQL Server 2005以降では、これは非推奨になっており、クエリの実行を支持しています sys.dm_tran_locks
:
select
object_name(p.object_id) as TableName,
resource_type, resource_description
from
sys.dm_tran_locks l
join sys.partitions p on l.resource_associated_entity_id = p.hobt_id
Sp_lock情報を読み取るときは、OBJECT_NAME()関数を使用して、ID番号からテーブルの名前を取得します。次に例を示します。
SELECT object_name(16003073)
編集:
ID変換なしでオブジェクトを報告するMicrosoftによって提供される別のprocがあります: http://support.Microsoft.com/kb/q255596/