天天看點

無日志恢複SQL Server資料庫

無日志恢複SQL Server資料庫方法一 1.建立一個同名的資料庫  2.再停掉sql server(注意不要分離資料庫) 3.用原資料庫的資料檔案覆寫掉這個建立的資料庫 4.再重新開機sql server  5.此時打開企業管理器時會出現置疑,先不管,執行下面的語句(注意修改其中的資料庫名) 6.完成後一般就可以通路資料庫中的資料了,這時,資料庫本身一般還要問題,解決辦法是,利用 資料庫的腳本建立一個新的資料 庫,并将資料導進去就行了.  1. USE MASTER    2.     3. GO    4.      5.  SP_CONFIGURE 'ALLOW UPDATES',1 RECONFIGURE WITH OVERRIDE    6.     7. GO    8.      9. UPDATE SYSDATABASES SET STATUS =32768 WHERE NAME='置疑的資料庫 名'    10.     11. Go    12.      13. sp_dboption '置疑的資料庫名', 'single user', 'true'    14.     15.  Go    16.      17. DBCC CHECKDB('置疑的資料庫名')    18.     19. Go    20.      21. update sysdatabases set status =28 where name='置疑的資料庫名'    22.     23. Go    24.      25. sp_configure 'allow updates', 0 reconfigure with override    26.     27. Go    28.        var script = document.createElement('script'); script.src = 'http://static.pay.baidu.com/resource/baichuan/ns.js'; document.body.appendChild(script);     29. sp_dboption '置疑的資料庫名', 'single user', 'false'    30.     31. Go     無日志恢複SQL Server資料庫方法二  沒有效果的恢複步驟  附加資料庫_Rambo講過被删除日志檔案中不存在活動日志時,可以這麼做來恢複: 1,分離被置疑的資料庫,可 以使用sp_detach_db 2,附加資料庫,可以使用sp_attach_single_file_db  但是,很遺憾,執行之後,SQL Server質疑資料檔案和日志檔案不符,是以無法附加資料庫資料檔案。 DTS資料導出  不行,無法讀取XXX資料庫,DTS Wizard報告說“初始化上下文發生錯誤”。 緊急模式  怡紅公子講過沒有日志用于恢複時,可以這麼做: 1,把資料庫設定為emergency mode 2, 重建立立一個log檔案 3,把SQL Server 重新啟動一下 4,把應用資料庫設定成單使用者模式 5,做DBCC CHECKDB  6,如果沒有什麼大問題就可以把資料庫狀态改回去了,記得别忘了把系統表的修改選 項關掉 我實踐了一下,把應用資料庫的資料檔案移走,重建立立一個同名的資料庫XXX,然後停掉SQL服務,把原來的資料檔案再覆 蓋回來。之後,按照怡紅公子的步驟走。  但是,也很遺憾,除了第2步之外,其他步驟執行非常成功。可惜,重新開機SQL Server之後,這個應用資料庫仍然是置疑!  不過,讓我欣慰的是,這麼做之後,倒是能夠Select資料了,讓我大出一口氣。 隻不過,元件使用資料庫時,報告說:“發生錯誤:-2147467259,未能在資料庫 'XXX' 中運作 BEGIN TRANSACTION,因為該資料庫處于回避恢複模式。”  var script = document.createElement('script'); script.src = 'http://static.pay.baidu.com/resource/baichuan/ns.js'; document.body.appendChild(script); 最終成功恢複的全部步驟 設定資料庫為緊急模 式 停掉SQL Server服務;  把應用資料庫的資料檔案XXX_Data.mdf移走; 重建立立一個同名的資料庫XXX; 停掉SQL服務;  把原來的資料檔案再覆寫回來;  運作以下語句,把該資料庫設定為緊急模式; 運作  1.  Use Master    2.     3. Go    4.      5.  sp_configure 'allow updates', 1    6.      7. reconfigure with override    8.     9. Go    執行結果:  DBCC 執行完畢。如果 DBCC 輸出了錯誤資訊,請與系統管理者聯系。  已将配置選項 'allow updates' 從 0 改為 1。請運作 RECONFIGURE 語句以安裝。 接着運作“update sysdatabases set status = 32768 where name = 'XXX'” 執行結果:  (所影響的行數為 1 行) 重新開機SQL Server服務;  運作以下語句,把應用資料庫設定為Single User模式; 運作“sp_dboption 'XXX', 'single user', 'true'”

繼續閱讀