Для восстановления файлов журнала транзакций до определенного момента времени база данных должна работать при полной модели восстановления , Таким образом, во-первых, вы должны восстановить последнюю полную резервную копию базы данных:
RESTORE DATABASE *database* FROM DISK = 'D:/Full.bak' WITH NORECOVERY, REPLACE
Следующим шагом является восстановление последней дифференциальной резервной копии базы данных:
RESTORE DATABASE *database* FROM DISK = 'D:/Diff.bak' WITH NORECOVERY
А затем восстановить все резервные копии журнала транзакций, которые сделали с момента последнего дифференциальное резервное копирование в правильной последовательности
RESTORE LOG *database* FROM DISK = 'D:/log1.bak' WITH NORECOVERY
RESTORE LOG *database* FROM DISK = 'D:/log2.bak' WITH NORECOVERY
RESTORE LOG *database* FROM DISK = 'D:/log3.bak' WITH NORECOVER
Последнее резервное копирование журнала транзакций, которое необходимо восстановить, представляет собой резервную копию журнала транзакций, выполненную после t он произошел с опцией stopat
. После опции stopat
вы должны установить время, в которое хотите восстановить базу данных.
RESTORE LOG *database* FROM DISK = 'D:/log4.bak' WITH STOPAT = '2015-11-26 16:22:40.000', RECOVERY