我們如何在SQL Server 2012中自動終止或終止暫停的任務?當我運行sp_who2
時,它顯示了Suspended
狀態中的許多進程。如何在SQL Server 2012中自動終止或終止暫停任務?
我想知道有什麼方法可以自動終止或終止暫停的進程/任務,而不是手動執行。
我知道如何手動殺死SPID
,但我想要一些可以在定義的時間後自動殺死這些任務的東西。
任何幫助將不勝感激。
我們如何在SQL Server 2012中自動終止或終止暫停的任務?當我運行sp_who2
時,它顯示了Suspended
狀態中的許多進程。如何在SQL Server 2012中自動終止或終止暫停任務?
我想知道有什麼方法可以自動終止或終止暫停的進程/任務,而不是手動執行。
我知道如何手動殺死SPID
,但我想要一些可以在定義的時間後自動殺死這些任務的東西。
任何幫助將不勝感激。
要做到這一點,你應該:
查詢一個特殊的DMV獲得處於暫停狀態psids所:
SELECT * FROM WHERE sys.dm_exec_requests視圖狀態= '暫停'
使用例如光標放在那個結果集上,一個接一個地殺掉它們
把那個腳本放到數據庫作業中;計劃作業運行規律
但是,如果你這樣做,你應該記住,暫停查詢可以啓動資源時,他試圖使用被釋放的時候/解鎖再次運行。如果該查詢在例如存儲過程在沒有事務的情況下修改數據,那麼通過中斷這樣的過程,您的kill-automatization可能會非常糟糕。
如何「使用該結果集上的光標來逐個殺死它們」? –
暫停是有效狀態。如果你得到很多暫停,你應該找出它爲什麼發生而不是殺死它們! –