Sql-Server
SQL Server 是否允許使用備用文件向後移動?
我有一個數據庫
standby
模式。-- STEP 1 -- Restore path F1 > T7 RESTORE DATABASE [TestRestore] FROM DISK = N'C:\Temp\F1.BAK' WITH FILE = 1, NORECOVERY, NOUNLOAD, REPLACE, STATS = 5 GO -- STEP 1 RESTORE LOG [TestRestore] FROM DISK = N'C:\Temp\T7.TRN' WITH FILE = 1, STANDBY = N'C:\Temp\TestRestore_RollbackUndoFile.tuf', NOUNLOAD, STATS = 5 GO
現在我要做日誌運輸。我的數據庫是可訪問的(
read only
),因此很容易確定我需要停下來的特定時間點。-- STEP 3 -- Restore T8 USE [master] RESTORE LOG [TestRestore] FROM DISK = N'C:\Temp\T8.TRN' WITH FILE = 1, STANDBY = N'C:\Temp\TestRestore_RollbackUndoFile.tuf', NOUNLOAD, STATS = 10, STOPAT = N'2013-10-25T19:55:26' GO -- STEP 4 -- ckecking SELECT * FROM TestRestore.dbo.TranRecord GO
STOPAT
通過增加子句中指定的時間,我可以重複執行相同的事務日誌還原,直到到達所需的時間點。但是,例如,我是否需要再次重新執行整個恢復,以防我意識到我已經恢復得太早了?(我的意思是刪除目前恢復的
db
並F1 > T7 > T8
再次恢復並在我需要的地方停止)。或者可以只撤消最後一個日誌傳送?(在我的範例中是STEP 3
)。Msdn給了它相當有爭議的內涵。
指定允許撤銷恢復效果的備用文件。
您必須重新啟動恢復序列。
我相信 SQL Server 理論上可以允許及時向後移動,因為日誌包含撤消和重做資訊。但這要麼沒有實現,要麼由於某種原因不可能。