共用方式為


如何:還原到某個時間點 (Transact-SQL)

此主題解釋如何還原到某個時間點。

還原到某個時間點

  1. 使用 NORECOVERY 選項執行 RESTORE DATABASE 陳述式。

  2. 執行 RESTORE LOG 陳述式以套用每一個交易記錄備份,並指定:

    • 要套用交易記錄檔的資料庫名稱。
    • 要從其還原交易記錄備份的備份裝置。
    • RECOVERY 及 STOPAT 選項。如果交易記錄備份中不含所要求的時間 (例如,指定的時間超出交易記錄的結束時間),則會產生警告訊息,且此資料庫會維持未復原狀態。

範例

下列範例會將 AdventureWorks 資料庫還原到 12:00 AM on April 15, 2005 的狀態。還原順序會使用 NORECOVERY 選項安裝完整資料庫備份,然後套用三個記錄備份,並在每個 RESTORE LOG 陳述式中指定 RECOVERYSTOPAT 選項。備份裝置是名為 AdventureWorksBackups邏輯備份裝置

ms179451.note(zh-tw,SQL.90).gif重要事項:
AdventureWorks 資料庫使用簡單復原模式。若要允許記錄備份,在執行完整資料庫備份之前,請使用 ALTER DATABASE AdventureWorks SET RECOVERY FULL 將該資料庫設定為使用完整復原模式。
-- Restore the full database backup.
RESTORE DATABASE AdventureWorks
   FROM AdventureWorksBackups 
   WITH NORECOVERY;
GO
RESTORE LOG AdventureWorks
   FROM AdventureWorksBackups
   WITH RECOVERY, STOPAT = 'Apr 15, 2005 12:00 AM';
GO
RESTORE LOG AdventureWorks
   FROM AdventureWorksBackups
   WITH RECOVERY, STOPAT = 'Apr 15, 2005 12:00 AM';
GO
RESTORE LOG AdventureWorks
   FROM AdventureWorksBackups
   WITH RECOVERY, STOPAT = 'Apr 15, 2005 12:00 AM';
   GO 

請參閱

概念

復原到特定時間

其他資源

RESTORE (Transact-SQL)
RESTORE HEADERONLY (Transact-SQL)

說明及資訊

取得 SQL Server 2005 協助