酷知百科網

位置:首頁 > 遊戲數碼 > 電腦

MS SQL數據庫置疑修復

電腦2.21W

Sql Server數據庫本身依賴於操作系統、檔案讀寫存儲等環境,數據庫經常因爲操作系統、異常關機、異常終止退出或者SQL Server數據庫本身的機制問題均會導致數據庫無故損壞。因此我們要對數據庫進行修復。

操作方法

(01)下面以hbfsv8數據庫爲例停止SQL服務管理器,將原數據檔案拷貝出來進行備份,然後將原數據庫刪除。

MS SQL數據庫置疑修復

(02)啓動SQL Server服務(如已停止),創建一個新的數據庫,命名爲原來數據庫的名字。

MS SQL數據庫置疑修復 第2張

(03)停止SQL Server服務,用備份出來的老數據庫的MDF檔案替換新數據庫相應的MDF檔案,並把新數據庫相應的LDF檔案刪除。

MS SQL數據庫置疑修復 第3張

(04)重新啓動SQL Server服務,然後執行如下命令:Use MasterGosp_configure 'allow updates', 1reconfigure with overrideGobegin tranupdate sysdatabases set status = 32768 where name = 'hbfsv8'--Verify one row is updated beforecommittingcommit tran

MS SQL數據庫置疑修復 第4張

(05)停止SQL然後重新啓動SQL Server服務,然後執行如下命令:DBCC TRACEON(3604)DBCC REBUILD_LOG('db_name','C:ProgramFilesMicrosoft SQLServerMSSQLDatahbfsv8_')Go--注:此處的db_name一定要更換爲需要修復的數據庫名稱,比如此實例中的hbfsv8

MS SQL數據庫置疑修復 第5張

(06)停止SQL然後重新啓動SQL Server服務,然後執行:use masterupdate sysdatabases set status = 8 where name = 'hbfsv8'Gosp_configure 'allow updates', 0reconfigure with overrideGo

MS SQL數據庫置疑修復 第6張

(07)執行dbcc checkdb(hbfsv8)檢查數據庫的完整性,如果有很多紅色文字,說明需要修復。

MS SQL數據庫置疑修復 第7張

(08)修復數庫*以下語句可以多次執行,一直到沒有紅色文字出現,則修復成功*這類故障是一般是由於磁盤讀寫問題造成的。* 'hbfsv8'代表要修復的數據庫--請在查詢分析器中執行下列語句.執行前斷開其它所有數據庫連接,最好是斷開網線USE masterGo--單用戶模式EXECsp_dboption 'hbfsv8', 'single user', 'TRUE'go--數據庫檢查DBCCCHECKDB ('hbfsv8')Go--如果返回結果出現了紅色的提示文字,說明數據庫中存在錯誤,需要修復--數據庫修復DBCCCHECKDB ('hbfsv8',repair_rebuild)Go--再次數據庫檢查,如果返回結果中沒有了紅色的提示文字,說明修復成功;DBCCCHECKDB ('hbfsv8')Go--否則意味着還需要更進階別的修復;嘗試將上面修復語句的'repair_rebuild'換爲'repair_allow_data_loss'再試,之後再次檢查數據庫。--如果還有錯誤未修復,--退出前請一定要執行以下語句返回到多用戶模式EXECsp_dboption 'hbfsv8', 'single user','FALSE'go

MS SQL數據庫置疑修復 第8張

(09)--單用戶模式EXEC sp_dboption 'hbfsv8', 'single user', 'TRUE'go

MS SQL數據庫置疑修復 第9張

(10)-數據庫檢查DBCC CHECKDB ('hbfsv8')Go--如果返回結果出現了紅色的提示文字,說明數據庫中存在錯誤,需要修復

MS SQL數據庫置疑修復 第10張

(11)--數據庫修復DBCC CHECKDB ('hbfsv8','repair_rebuild')Go--多次執行此語句,紅色文字不斷減少,說明在修復中。

MS SQL數據庫置疑修復 第11張

(12)--再次數據庫檢查,如果返回結果中沒有了紅色的提示文字,說明修復成功;DBCC CHECKDB ('hbfsv8')Go--否則意味着還需要更進階別的修復;嘗試將上面修復語句的'repair_rebuild'換爲'repair_allow_data_loss'即是(DBCC CHECKDB ('hbfsv8','repair_allow_data_loss')Go)再試,執行後,這樣紅色文字就沒有了,說明修復成功了,之後再次檢查數據庫。

(13)--退出前請一定要執行以下語句返回到多用戶模式EXECsp_dboption 'hbfsv8', 'single user','FALSE'go