[SQL SERVER 2005]數據庫差異備份及還原


  因為之前遇到還原差異備份,最開始遇到SQLServer報錯:”無法還原日志備份或差異備份,因為沒有文件可用於前滾“。查閱很多資料后,終於得到解決。收集整理成這篇隨筆。  

  問題原因:出現這種錯誤絕大多數是因為還原完整備份沒有選擇“恢復狀態-->不對數據庫執行任何操作,不回滾未提交的事務。可以還原其他事務日志”。下面詳細分解操作步驟。

如果你看到這段文字,說明您正使用RSS閱讀或轉自《一棵樹-博客園》,原文地址:http://www.cnblogs.com/atree/p/Differentiated_Backup_Restore.html

  案例背景:創建一個叫TestBackup的數據庫,創建一張叫Table1的表,這個時候進行一次完整備份,備份文件為:TestBackupDB-full.bak;接着創建表Table2后進行差異備份,備份文件為:TestBackupDB-diff.bak

  創建一個叫TestBackup2的數據庫,用於測試TestBackup數據庫的備份文件的還原。

  

  下面我們就可以對備份文件:TestBackupDB-full.bak、TestBackupDB-diff.bak進行還原:

   數據庫差異備份文件還原

  步驟一:還原完整備份文件TestBackupDB-full.bak,恢復狀態選項:不對數據庫執行任何操作,不回滾未提交的事務。可以還原其他事務日志。(RESTORE WITH NORECOVERY)

  

  

  

  然后確定就可以了。這樣就可以接着還原差異備份了。(注:只要還要還原,就一定要選擇”不對數據庫執行任何操作,不回滾未提交的事務。可以還原其他事務日志“,否則還原差異備份或日志備份就會出現以上的錯誤。

  還原成功后數據列表就會如下圖所示:

  

  步驟二:還原差異備份文件TestBackupDB-diff.bak,操作按正在還原步驟即可,恢復狀態選項:回滾未提交的事務,使數據庫處於可以使用狀態。無法還原其他事務日志(L)。(RESTORE WITH RECOVERY)。

  這樣差異備份文件還原就完成了。舉一反三,只要還有其他事務日志要提交,就選第二個;沒有了,就選第一個。還原事務日志也是一樣的,就不多說了。

  名詞解釋:

  完全備份: 備份全部選中的文件夾,並不依賴文件的存檔屬性來確定備份那些文件。(在備份過程中,任何現有的標記都被清除,每個文件都被標記為已備份,換言之,清除存檔屬性)。完全備份也叫完整備份。

  差異備份: 差異備份是針對完全備份:備份上一次的完全備份后發生變化的所有文件。(差異備份過程中,只備份有標記的那些選中的文件和文件夾。它不清除標記,即:備份后不標記為已備份文件,換言之,不清除存檔屬性)。

  增量備份: 增量備份是針對於上一次備份(無論是哪種備份):備份上一次備份后,所有發生變化的文件。(增量備份過程中,只備份有標記的選中的文件和文件夾,它清除標記,即:備份后標記文件,換言之,清除存檔屬性。)

  事務日志備份: 在特定事務日志備份之前執行的完整數據庫備份和上次差異備份(如果有)。在完整數據庫備份之后執行的所有事務日志備份或在特定事務日志備份之前執行的差異備份(如果您還原了差異備份)。如果你設置了恢復模式為【簡單】,你將無法使用【事務日志】備份。SQL Server 2000 和 SQL Server 2005: 創建事務日志備份,您必須使用完整恢復或大容量日志記錄恢復模型。

  部分備份: 通過指定 READ_WRITE_FILEGROUPS 創建的備份稱為“部分備份”。在簡單恢復模式下,只允許對只讀文件組執行文件組備份。還原的數據備份類型:數據庫備份、部分備份或文件備份。對於數據庫備份或部分備份,日志備份序列必須從數據庫備份或部分備份的結尾處開始延續。對於一組文件備份,日志備份序列必須從整組文件備份的開頭開始延續。

  文件備份: “文件備份”包含一個或多個文件(或文件組)中的所有數據。

  日志鏈: 連續的日志備份序列稱為“日志鏈”。日志鏈從數據庫的完整備份開始。通常,僅當第一次備份數據庫時,或者將恢復模式從簡單恢復模式切換到完整恢復模式或大容量日志恢復模式之后,才會開始一個新的日志鏈。除非在創建完整數據庫備份時選擇覆蓋現有備份集,否則現有的日志鏈將保持不變。在該日志鏈保持不變的情況下,便可從媒體集中的任何完整數據庫備份還原數據庫,然后再還原相應恢復點之前的所有后續日志備份。恢復點可以是上次日志備份的結尾,也可以是任何日志備份中的特定恢復點。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM