執行完整資料庫還原 (簡單復原模式)

在完整資料庫還原中,目標是還原整個資料庫。在還原期間,整個資料庫為離線狀態。在讓資料庫的任何部分上線之前,所有的資料都必須復原到一致的位置;此時資料庫的所有部分都會回到相同的時間點,而且沒有未認可的交易存在。

在簡單復原模式下,無法將資料庫還原到特定備份中的特定時間點。

還原整個資料庫

在簡單復原模式下進行完整資料庫還原只需要一個或兩個 RESTORE 陳述式,視是否需要還原差異資料庫備份而定。

如果只要使用完整資料庫備份,則還原最近一次的備份即可。如果也要使用差異資料庫備份,請還原最近一次完整資料庫備份,但不要復原資料庫,然後才還原最近一次差異資料庫備份,並復原資料庫。

當您要完整還原資料庫時,應該使用一個還原順序。下列範例說明在完整資料庫還原實例中,還原順序的一些關鍵選項。還原順序包含一或多個還原作業,會在一或多個還原階段中移動資料。會省略與這個檔案還原無關的語法和詳細資料。

資料庫會還原到其完整資料庫備份時的狀態。為了清楚起見,建議您在復原資料庫時明確指定 RECOVERY 選項,即使它是預設的。 .

範例

下列範例首先顯示如何使用 BACKUP 陳述式來建立 AdventureWorks 資料庫的完整資料庫備份及差異資料庫備份。此範例接著依序還原這些備份。

ms186216.note(zh-tw,SQL.90).gif附註:
此範例會從設定復原模式為 SIMPLEALTER DATABASE 陳述式開始進行。
USE master;
--Make sure the database is using the simple recovery model.
ALTER DATABASE AdventureWorks SET RECOVERY SIMPLE;
GO
-- Back up the full AdventureWorks database.
BACKUP DATABASE AdventureWorks TO DISK = 'Z:\SQLServerBackups\AdventureWorks.bak' 
  WITH FORMAT;
GO
--Create a differential database backup.
BACKUP DATABASE AdventureWorks TO DISK = 'Z:\SQLServerBackups\AdventureWorks.bak'
   WITH DIFFERENTIAL;
GO
--Restore the full database backup (from backup set 1).
RESTORE DATABASE AdventureWorks FROM DISK = 'Z:\SQLServerBackups\AdventureWorks.bak' 
   WITH FILE=1, NORECOVERY;
--Restore the differential backup (from backup set 2).
RESTORE DATABASE AdventureWorks FROM DISK = 'Z:\SQLServerBackups\AdventureWorks.bak' 
   WITH FILE=2, RECOVERY;
GO

還原完整資料庫備份

用於還原資料庫備份的基本 RESTORE 語法為:

RESTORE DATABASE <database_name> FROM <backup_device> [ WITH NORECOVERY ]

ms186216.note(zh-tw,SQL.90).gif附註:
如果您也要還原差異資料庫備份,請使用 WITH NORECOVERY。

還原差異資料庫備份

用於還原差異資料庫備份的基本 RESTORE 語法為:

RESTORE DATABASE <database_name> FROM <backup_device> WITH RECOVERY

使用 SQL Server 管理物件 (SMO) 還原備份

支援舊版 SQL Server 的備份

在 SQL Server 2005 中,您可以還原使用 SQL Server 7.0 版、SQL Server 2000 或 SQL Server 2005 所建立的資料庫備份。但是,SQL Server 2005 無法還原使用 SQL Server 7.0 或 SQL Server 2000 建立的 mastermodelmsdb

SQL Server 2005 使用與之前版本不同的預設路徑。因此,若要從備份還原在 SQL Server 7.0 或 SQL Server 2000 預設位置中建立的資料庫,就必須使用 MOVE 選項。如需有關新預設路徑的詳細資訊,請參閱<SQL Server 2005 的預設和具名執行個體的檔案位置>。

ms186216.note(zh-tw,SQL.90).gif附註:
使用 SQL Server 6.5 或之前版本建立的資料庫備份,其格式不相容,且不能在 SQL Server 2005 中還原。如需有關如何將使用 SQL Server 6.5 或舊版建立的資料庫升級至 SQL Server 2005 的詳細資訊,請參閱<複製 SQL Server 6.5 或舊版的資料庫>。

請參閱

概念

完整資料庫備份
差異資料庫備份
簡單復原模式下的備份
縮短還原資料庫時的復原時間
簡單復原模式下的還原限制
瞭解在 SQL Server 中還原和復原備份的運作方式

其他資源

RESTORE (Transact-SQL)
BACKUP (Transact-SQL)
sp_addumpdevice (Transact-SQL)
使用 SQL Server 資料庫的還原順序

說明及資訊

取得 SQL Server 2005 協助

變更歷程記錄

版本 歷程記錄

2006 年 7 月 17 日

新增內容:
  • 在「還原整個資料庫」一節中提供基本的 RESTORE 語法。
變更的內容:
  • 將 BACKUP 及 RESTORE 陳述式的範例變更為使用 DISK 選項來指定實體備份裝置,而不是指定邏輯備份裝置。