[SQL Server]檢查DB Lock狀態
[SQL Server]檢查DB Lock狀態
執行以下這段SQL可以看到各個資料庫鎖定的狀態及各項資訊
SELECT request_session_id AS spid,
resource_type AS rt,
resource_databASe_id AS rdb,
(CASE resource_type
WHEN 'OBJECT' then object_name(resource_ASsociated_entity_id)
WHEN 'DATABASE' then '<db_name>'
ELSE
(SELECT object_name(object_id) FROM sys.partitions
WHERE hobt_id = resource_ASsociated_entity_id) END) AS objname,
resource_description AS rd,
request_mode AS rm,
request_status AS rs
FROM sys.dm_tran_locks
找出rm = X的其中一個spid(56),再下指令
回覆刪除KILL 56
就可以把dead lock狀態解除了,解除後再查詢一次
就可以看到dead lock都清除囉。