SQLSERVER數據庫經常置疑的原因
近段時間經常收到客戶的求助電話,說他們的SQLSERVER業務數據庫置疑了,因為系統不能使用,所以他們也不能加油正常營業
(我們是做加油站IC卡管理系統的)因為我們的系統損壞的話,加油站也不能加油,然后我們使用DBCC CHECKDB命令幫客戶修復
數據庫,客戶的數據庫一共置疑了兩次
我們懷疑是不是他們的硬盤有問題,但是因為計算機是我們配給客戶的是DELL商用機(2011年購買的),按道理質量應該不錯的。
后來得知是他們油站停過電。我們大概知道置疑的原因了。
我們推測的原因:
停電之前有加油數據要插入數據庫,因為SQLSERVER我們都是使用默認設置,什么都沒有改,就是說數據插入數據庫的時候事務還沒有提交,
SQLSERVER嘗試回滾事務,但是計算機已經關機了,當計算機關機的時候回滾操作會被中斷。但是這個回滾動作在下次計算機開機的時候
(即SQLSERVER重啟的時候)回滾動作重新開始,由於SQLSERVER做每一個事務都是先寫日志,再寫入硬盤。
有可能由於內存中的數據丟失或者某些原因造成數據庫不能回滾操作,那么整個數據庫就置疑了