Sql-Server

我可以提高我殺死並正在回滾的程序的優先級嗎?

  • September 10, 2010

我有一份工作通常要執行大約 2 個小時。今天早上它還在執行 5 個小時,我決定殺死它。它已經處於“KILLED/ROLLBACK”狀態很長一段時間了。當我再次執行 KILL 命令以獲取回滾狀態時,我得到以下資訊:

SPID 84:正在進行事務回滾。預計回滾完成:0%。預計剩餘時間:0 秒。

無論如何我可以提高優先級或告訴SQL Server“快點”嗎?:)

更新:

或者有沒有辦法讓我說“我不在乎桌子的狀態。只是退出。”

在 SQL Server 2008 之前,我不知道任何可能的解決方案。從 SQL Server 2008 開始,資源調控器允許您指定使用的工作負載和資源。我還沒有使用它,所以我不能告訴你更多細節。

一點也不。

一種選擇是停止 SQL Server,移動 MDF 和 LDF 文件,啟動 SQL Server,刪除可疑數據庫,重新附加 MDF 文件並希望您的數據庫仍然有效。

或者恢復它。

我不是在開玩笑:ACID 強制回滾,並且在沒有外部干預的情況下不允許損壞的表。

它有可能由於其他原因被阻止,但通常它會回滾事務。在這種情況下,重新啟動 SQL Server可能會有所幫助,但如果出現問題,請不要哭泣 :-)

如果這是生產,則等待或刪除/恢復。你不能說“我不在乎桌子的狀態。就退出吧。” 在生產中…

引用自:https://serverfault.com/questions/179754