天天看點

失而複得——資料庫日志檔案丢失後的恢複

  下面來說一下恢複方法:

  如果你的資料還在資料庫伺服器中,請執行以下三步

  1、停止資料庫服務。

  3、啟動資料庫服務。

  接下來

  1、建立同名的資料庫(資料庫檔案名也要相同)。

  2、停止資料庫服務。

  3、用備份的.mdf檔案覆寫新資料庫的同名檔案。

  4、啟動資料庫服務。

  5、在查詢分析器中:運作如下代碼将資料庫設定為緊急狀态

alter database dbname set emergency

  例如恢複的資料庫名為:MRcharge,圖如下

失而複得——資料庫日志檔案丢失後的恢複

  6、然後再查詢中輸入如下語句就可以恢複資料庫了:

use master 

declare @databasename varchar(255) 

set @databasename='MRcharge' 

exec sp_dboption @databasename, N'single', N'true'               --将恢複資料庫置為單使用者狀态 

dbcc checkdb('MRcharge',REPAIR_ALLOW_DATA_LOSS) 

dbcc checkdb('MRcharge',REPAIR_REBUILD) 

exec sp_dboption 'MRcharge', N'single', N'false'              --最後再将恢複資料庫置為多使用者狀态 

  注意:這種方法恢複必須保證你建立資料庫和恢複資料庫用的是統一版本,即:都是sql server 2000,或者 2005,或者2008。

  我曾想用sql server 2008恢複2005的資料庫,結果提示版本過低,無法打開,需要更新,于是我在建資料庫的時候特意把相容級别改成2005的,結果還是一樣。

  跨版本恢複待求解,請指點。

====================================分割線================================

最新内容請見作者的GitHub頁:http://qaseven.github.io/