新聞中心
1.首先確認已經備份了.mdf和.ldf文件。

創(chuàng)新互聯(lián)主要從事成都做網(wǎng)站、成都網(wǎng)站設計、網(wǎng)頁設計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務。立足成都服務盈江,十多年網(wǎng)站建設經驗,價格優(yōu)惠、服務專業(yè),歡迎來電咨詢建站服務:18982081108
2. 在SQL Server中新建一個同名的數(shù)據(jù)庫,然后停止SQL Server服務。
3. 用原有的.mdf和.ldf文件覆蓋新建數(shù)據(jù)庫對應的.mdf和.ldf文件。
4. 重新啟動SQL Server服務,這是應該會看到這個數(shù)據(jù)庫處于置疑(Suspect)狀態(tài)。
5. 在SQL查詢分析器中執(zhí)行以下命令,以允許更新系統(tǒng)表:
6. 將這個數(shù)據(jù)庫置為緊急模式:
7. 使用DBCC CHECKDB命令檢查數(shù)據(jù)庫中的錯誤:
8. 如果DBCC CHECKDB命令失敗,請轉至第10步,否則先將數(shù)據(jù)庫置為單用戶模式,再嘗試對其進行修復:
如果在執(zhí)行DBCC CHECKDB(‘db_name’, REPAIR_ALLOW_DATA_LOSS)命令時提示說數(shù)據(jù)庫未處于單用戶模式狀態(tài)的話,則重新啟動SQL Server服務,然后繼續(xù)嘗試。
9. 如果DBCC CHECKDB(‘db_name’, REPAIR_ALLOW_DATA_LOSS)命令失敗,請轉至第10步,否則若成功修復了數(shù)據(jù)庫中的錯誤:
重新執(zhí)行DBCC CHECKDB(‘db_name’)命令,確認數(shù)據(jù)庫中已沒有錯誤存在。
清除數(shù)據(jù)庫的置疑狀態(tài):sp_resetstatus ‘db_name’
清除數(shù)據(jù)庫的單用戶模式狀態(tài):sp_dboption ‘db_name’,’single user’,’false’
重新啟動SQL Server服務,如果一切正常的話,則數(shù)據(jù)庫已經成功恢復。
10. 如果以上步驟都不能解決問題的話,請參考附件中的文檔嘗試通過重建事務日志來恢復數(shù)據(jù)庫中的數(shù)據(jù)。如果您只有MDF文件,問題就更加復雜一些,我們需要直接重建事務日志了:
1. 在SQL Server中新建一個同名的數(shù)據(jù)庫,然后停止SQL Server服務。
2. 用原有的ldf文件覆蓋新建數(shù)據(jù)庫對應的.mdf文件,將其日志文件(.ldf)刪除。
3. 啟動SQL Server服務,并將數(shù)據(jù)庫置為緊急模式(同上: 步驟5和步驟6)。
4. 停止并重新啟動SQL Server服務。
5. 執(zhí)行以下命令重建數(shù)據(jù)庫日志文件:(下面是個示例,您要用您實際的數(shù)據(jù)庫名)
6. 重新將該數(shù)據(jù)庫置為單用戶模式。
7. 再次嘗試使用DBCC CHECKTABLE或DBCC CHECKDB命令檢查并修復數(shù)據(jù)庫中的錯誤。
【編輯推薦】
- 教你如何優(yōu)化SQL語句中的物理查詢
- 淺談SQL Server 2008中新增屬性Hierarchyid
- 詳解SQL邏輯查詢的各個階段
本文標題:SQL Server置疑數(shù)據(jù)庫解決方法
分享鏈接:http://www.dlmjj.cn/article/dpgdcgg.html


咨詢
建站咨詢
