info SQLSERVER わざとロックエラー
SQLServerのテーブルロック状態を取得するSQL
https://lightgauge.net/database/sqlserver/3253/
active reports無料
https://www.grapecity.co.jp/developer
BEGIN TRAN--lock状態を作り出す SELECT * FROM tbl_job WITH(TABLOCKX) WAITFOR DELAY '00:10:00' --任意の時間スリープ。 COMMIT TRAN
--上下のクエリは別々のファイルにしておく SELECT resource_type AS type --オブジェクトの種類 ,resource_associated_entity_id as entity_id --エンティティID ,( CASE WHEN resource_type = 'OBJECT' THEN OBJECT_NAME( resource_associated_entity_id ) ELSE ( SELECT OBJECT_NAME( OBJECT_ID ) FROM sys.partitions WHERE hobt_id=resource_associated_entity_id ) END) AS object_name ,request_mode --ロックの種類 ,request_type --要求の種類 ,request_status --状態 ,request_session_id AS Session_id --セッションID ,(SELECT hostname FROM sys.sysprocesses WHERE spid = request_session_id) AS ProcessName FROM sys.dm_tran_locks WHERE resource_type <> 'DATABASE' ORDER BY request_session_id
上記のクエリでセッションを調べて --kill 52--session_idを終了する その後はSELECTできる SELECT * FROM tbl_job