這篇文章將為大家詳細(xì)講解有關(guān)Sql Server置疑數(shù)據(jù)庫怎么辦,小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。
定安ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場(chǎng)景,ssl證書未來市場(chǎng)廣闊!成為成都創(chuàng)新互聯(lián)公司的ssl證書銷售渠道,可以享受市場(chǎng)價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:13518219792(備注:SSL證書合作)期待與您的合作!
1.首先確認(rèn)已經(jīng)備份了.mdf和.ldf文件。
2. 在SQL Server中新建一個(gè)同名的數(shù)據(jù)庫,然后停止SQL Server服務(wù)。
3. 用原有的.mdf和.ldf文件覆蓋新建數(shù)據(jù)庫對(duì)應(yīng)的.mdf和.ldf文件。
4. 重新啟動(dòng)SQL Server服務(wù),這是應(yīng)該會(huì)看到這個(gè)數(shù)據(jù)庫處于置疑(Suspect)狀態(tài)。
5. 在SQL查詢分析器中執(zhí)行以下命令,以允許更新系統(tǒng)表:
use master
go
sp_configure ‘a(chǎn)llow updates’,1
reconfigure with override
go
6. 將這個(gè)數(shù)據(jù)庫置為緊急模式:
update sysdatabases set status = 32768 where name = ‘db_name’
go
7. 使用DBCC CHECKDB命令檢查數(shù)據(jù)庫中的錯(cuò)誤:
DBCC CHECKDB(‘db_name’)
GO
8. 如果DBCC CHECKDB命令失敗,請(qǐng)轉(zhuǎn)至第10步,否則先將數(shù)據(jù)庫置為單用戶模式,再嘗試對(duì)其進(jìn)行修復(fù):
sp_dboption ‘db_name’,’single user’,’true’
DBCC CHECKDB(‘db_name’, REPAIR_ALLOW_DATA_LOSS)
GO
如果在執(zhí)行DBCC CHECKDB(‘db_name’, REPAIR_ALLOW_DATA_LOSS)命令時(shí)提示說數(shù)據(jù)庫未處于單用戶模式狀態(tài)的話,則重新啟動(dòng)SQL Server服務(wù),然后繼續(xù)嘗試。
9. 如果DBCC CHECKDB(‘db_name’, REPAIR_ALLOW_DATA_LOSS)命令失敗,請(qǐng)轉(zhuǎn)至第10步,否則若成功修復(fù)了數(shù)據(jù)庫中的錯(cuò)誤:
重新執(zhí)行DBCC CHECKDB(‘db_name’)命令,確認(rèn)數(shù)據(jù)庫中已沒有錯(cuò)誤存在。
清除數(shù)據(jù)庫的置疑狀態(tài):sp_resetstatus ‘db_name’
清除數(shù)據(jù)庫的單用戶模式狀態(tài):sp_dboption ‘db_name’,’single user’,’false’
重新啟動(dòng)SQL Server服務(wù),如果一切正常的話,則數(shù)據(jù)庫已經(jīng)成功恢復(fù)。
10. 如果以上步驟都不能解決問題的話,請(qǐng)參考附件中的文檔嘗試通過重建事務(wù)日志來恢復(fù)數(shù)據(jù)庫中的數(shù)據(jù)。
如果您只有MDF文件,問題就更加復(fù)雜一些,我們需要直接重建事務(wù)日志了:
1. 在SQL Server中新建一個(gè)同名的數(shù)據(jù)庫,然后停止SQL Server服務(wù)。
2. 用原有的ldf文件覆蓋新建數(shù)據(jù)庫對(duì)應(yīng)的.mdf文件,將其日志文件(.ldf)刪除。
3. 啟動(dòng)SQL Server服務(wù),并將數(shù)據(jù)庫置為緊急模式(同上: 步驟5和步驟6)。
4. 停止并重新啟動(dòng)SQL Server服務(wù)。
5. 執(zhí)行以下命令重建數(shù)據(jù)庫日志文件:(下面是個(gè)示例,您要用您實(shí)際的數(shù)據(jù)庫名)
DBCC REBUILD_LOG(’cas_db’, ‘D:\cas_db\cas_db_Log.LDF’)
6. 重新將該數(shù)據(jù)庫置為單用戶模式。
7. 再次嘗試使用DBCC CHECKTABLE或DBCC CHECKDB命令檢查并修復(fù)數(shù)據(jù)庫中的錯(cuò)誤。
關(guān)于“Sql Server置疑數(shù)據(jù)庫怎么辦”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。