今天在客戶服務器的數據庫里面的一個數據庫突然出現了點問題,數據庫狀態變為可疑了,這個問題之前有見過,雖然解決了,但並沒有把過程和解決方法記錄下來,決定這次記錄在博客園里,方便自己也方便他人在遇到這個問題的時候,能快速解決!廢話不多說,先說說數據庫變可疑的原因:
在進行些不正常操作如數據庫在讀寫時而無故停止數據庫,從而導致Sql Server 數據庫不正常中斷,當再次打開數據庫時會發現某些數據庫會被標記為“可疑”(suspect),即在數據庫名旁加上了黃色的驚嘆號,這時數據庫就不能再被打開了,但數據庫的結構及數據內容都還是存在的。
解決方法:
當數據庫發生這種操作故障時,可以按如下操作步驟可解決此方法,打開數據庫里的Sql 查詢編輯器窗口,運行以下的命令(注意:jd13dafa為對應可疑的數據庫名稱,執行時,請改為你的可疑的數據庫名稱)。
1、修改數據庫為緊急模式
ALTER DATABASE jd13dafa SET EMERGENCY
2、使數據庫變為單用戶模式
ALTER DATABASE jd13dafa SET SINGLE_USER
3、修復數據庫日志重新生成,此命令檢查的分配,結構,邏輯完整性和所有數據庫中的對象錯誤。當您指定“REPAIR_ALLOW_DATA_LOSS”作為DBCC CHECKDB命令參數,該程序將檢查和修復報告的錯誤。但是,這些修復可能會導致一些數據丟失。
DBCC CheckDB (jd13dafa , REPAIR_ALLOW_DATA_LOSS)
4、使數據庫變回為多用戶模式
ALTER DATABASE jd13dafa SET MULTI_USER
5、開始->運行->輸入cmd->打開DOS命令窗口,輸入以下命令重啟數據庫服務(此處可以直接到服務列表里,重新啟動數據庫服務,為了方便我直接用DOS命令了)
Net stop mssqlserver --停止服務
Net start mssqlserver --啟動服務
重新打開Sql Server,查看被標記為“可疑”的數據庫已恢復正常狀態。
(注意執行命令過程中可能會報一些錯誤,請無視,按照步驟執行完畢就行了,有問題,大家多少交流836911886,加我請記得說:博客園)