select session_id, Text,*
from sys.dm_exec_requests r
cross apply sys.dm_exec_sql_text(sql_handle) t
特別是針對查詢正在掛起狀態的腳本有幫助。
偶的情況是:sqlserver的一個超大的 bak文件一直刪除不掉。原因是有一個自動backup的job在調用時失敗了,但這個腳本運行狀態一直是掛起,導致後續的自動備份作業全部失敗。
解決方案:
用 sp_who2 查出 suspend的進程,然後 kill 進程號也不行。
沒辦法,通過文首放出的腳本查詢一下,有哪些腳本正處於運行狀態。發現除自己外沒有了,趕緊將服務器的 sql server 服務(services.msc 進去) 重啓一下,然後 將之前超大的 bak文件刪除,然後 自動備份功能就可以繼續歡快的跑了。
(結束)