[SQL] DB Lock
Sql Server 常常會遇到 Lock 的問題,重點是要查出哪邊卡住,並且看如何處理,以下查詢方式。 SELECT r.session_id, r.status AS [指令狀態], r.command AS [指令類型], r.wait_time/1000.0 AS [等待時間(秒)], s.client_interface_name AS [連線資料庫的驅動程式], s.host_name AS [電腦名稱], s.program_name AS [執行程式名稱], t.text AS [執行的SQL語法], r.blocking_session_id AS [被鎖定卡住的session_id] FROM sys.dm_exec_requests r INNER JOIN sys.dm_exec_sessions s ON r.session_id = s.session_id CROSS APPLY sys.dm_exec_sql_text(r.sql_handle) t WHERE s.is_user_process = 1; 上圖可以看到被 session_id 79 卡住了,但重點是時間非常就,狀態是 KILLED/ROLLBACK,表示已經執行KILL了,還是卡住。這就需要重啟SQL Server了。 若是一般的執行,應該Kill就可以了。 參考資料: https://www.uuu.com.tw/Public/content/article/20/20201207.htm