Sql-Server
大型數據庫上的 DatabaseIntegrityCheck 每天都失敗
在我的一個數據庫上,完整性檢查一直失敗並出現以下錯誤:
連接可能已被伺服器終止。
$$ SQLSTATE HY000 $$ 消息 596,Sev 21,狀態 1:無法繼續執行,因為會話處於終止狀態。$$ SQLSTATE HY000 $$.
我可以說沒有其他事情發生,所以這是一件特別難以解決的事情。就好像數據庫超時或 CheckDB 命令上的東西一樣。
我建議檢查數據庫數據文件的空間並擴展,以防只有 5% 的可用空間。
當時似乎有一些程序正在執行並啟動一個kill命令(可能來自DBA端,檢查長時間執行的程序或可能是由於阻塞),我建議你從Adam Machanic先生那裡下載著名的程序sp_whoisactive並安排在數據庫完整性檢查觸發並將輸出擷取到使用者表之前相同,多次執行相同的操作,以便您能夠在該時間間隔內獲得所有正在執行的會話。您可以參考這篇文章,了解如何將輸出擷取到表格中。
以上將幫助您找出罪魁禍首過程,您可以採取相應的行動。
有幾個問題與您類似,請參考:
如果以上有幫助,請告訴我們。
從我的答案中刪除了為什麼部分 checkdb 數據庫。