SQLSERVER完整數據庫還原(簡單恢復模式)


完整數據庫還原(簡單恢復模式)

 

數據庫完整還原的目的是還原整個數據庫。 整個數據庫在還原期間處於脫機狀態。 

在數據庫的任何部分變為聯機之前,必須將所有數據恢復到同一點,即數據庫的所有部分都處於同一時間點並且不存在未提交的事務。

在簡單恢復模式下,數據庫不能還原到特定備份中的特定時間點。

 

重要

建議您不要附加或還原來自未知或不可信源的數據庫。 這些數據庫可能包含執行非預期 Transact-SQL 代碼的惡意代碼,或通過修改架構或物理數據庫結構導致錯誤。 

使用來自未知源或不可信源的數據庫前,請在非生產服務器上針對數據庫運行 DBCC CHECKDB ,然后檢查數據庫中的代碼,例如存儲過程或其他用戶定義代碼。

 

在簡單恢復模式下還原數據庫的概述

簡單恢復模式下的完整數據庫還原只涉及一個或兩個 RESTORE 語句,具體取決於是否需要還原差異數據庫備份。 如果只使用完整數據庫備份,則只需還原最近的備份,如下圖所示。

 

僅還原完整數據庫備份

如果還使用差異數據庫備份,則應還原最近的完整數據庫備份而不恢復數據庫,然后還原最近的差異數據庫備份並恢復數據庫。 下圖顯示了這一過程。

 

還原完整數據庫備份和差異數據庫備份

 

基本 TRANSACT-SQL RESTORE 語法

用於還原完整數據庫備份的基本 Transact-SQLRESTORE 語法是:

RESTORE DATABASE database_name FROM backup_device [ WITH NORECOVERY ]

 

 備注

如果還打算還原差異數據庫備份,則應使用 WITH NORECOVERY。

用於還原數據庫備份的 RESTORE 語句的基本語法是:

RESTORE DATABASE database_name FROM backup_device WITH RECOVERY

 

示例 (Transact-SQL)

以下示例首先顯示如何使用 BACKUP 語句來創建 AdventureWorks2012 數據庫的完整數據庫備份和差異數據庫備份。 然后按順序還原這些備份。 將數據庫還原到完成差異數據庫備份時的狀態。

該示例說明數據庫完整還原方案的還原序列中的關鍵選項。 還原順序 由通過一個或多個還原階段來移動數據的一個或多個還原操作組成。 將省略與此目的不相關的語法和詳細信息。 在恢復數據庫時,盡管 RECOVERY 選項是默認值,但為清楚起見,仍建議顯式指定該選項。

 

 備注

此示例以 ALTER DATABASE 語句開頭,該語句將恢復模式設置為 SIMPLE。

 

USE master;  

--Make sure the database is using the simple recovery model.  

ALTER DATABASE AdventureWorks2012 SET RECOVERY SIMPLE;  

GO  

-- Back up the full AdventureWorks2012 database.  

BACKUP DATABASE AdventureWorks2012   

TO DISK = 'Z:\SQLServerBackups\AdventureWorks2012.bak'   

  WITH FORMAT;  

GO  

--Create a differential database backup.  

BACKUP DATABASE AdventureWorks2012   

TO DISK = 'Z:\SQLServerBackups\AdventureWorks2012.bak'  

   WITH DIFFERENTIAL;  

GO  

--Restore the full database backup (from backup set 1).  

RESTORE DATABASE AdventureWorks2012   

FROM DISK = 'Z:\SQLServerBackups\AdventureWorks2012.bak'   

   WITH FILE=1, NORECOVERY;  

--Restore the differential backup (from backup set 2).  

RESTORE DATABASE AdventureWorks2012   

FROM DISK = 'Z:\SQLServerBackups\AdventureWorks2012.bak'   

   WITH FILE=2, RECOVERY;  

GO



聚焦技術與人文,分享干貨,共同成長更多內容請關注“數據與人”

  


免責聲明!

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



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