如何:還原到某個時間點 (Transact-SQL)
此主題解釋如何還原到某個時間點。
還原到某個時間點
使用 NORECOVERY 選項執行 RESTORE DATABASE 陳述式。
執行 RESTORE LOG 陳述式以套用每一個交易記錄備份,並指定:
- 要套用交易記錄檔的資料庫名稱。
- 要從其還原交易記錄備份的備份裝置。
- RECOVERY 及 STOPAT 選項。如果交易記錄備份中不含所要求的時間 (例如,指定的時間超出交易記錄的結束時間),則會產生警告訊息,且此資料庫會維持未復原狀態。
範例
下列範例會將 AdventureWorks
資料庫還原到 12:00 AM on April 15, 2005
的狀態。還原順序會使用 NORECOVERY
選項安裝完整資料庫備份,然後套用三個記錄備份,並在每個 RESTORE LOG
陳述式中指定 RECOVERY
和 STOPAT
選項。備份裝置是名為 AdventureWorksBackups
的邏輯備份裝置。
重要事項: |
---|
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)