Восстановление на определенный момент времени
Сведения в этом разделе относятся только к тем базам данных SQL Server, которые используют полную модель восстановления или модель восстановления с неполным протоколированием.
Если в модели восстановления с неполным протоколированием резервная копия журнала содержит изменения с неполным протоколированием, то в пределах этой резервной копии восстановление до момента времени невозможно. База данных должна быть восстановлена к концу резервной копии журнала транзакций.
Восстановление на момент времени
- Как выполнить восстановление на определенный момент времени (среда SQL Server Management Studio)
- Как выполнить восстановление на момент времени (Transact-SQL)
- Как произвести восстановление до точки сбоя (Transact-SQL)
- ToPointInTime (SMO)
Синтаксис языка Transact-SQL для восстановления на определенный момент времени
Примечание. |
---|
Синтаксис для указания определенного момента времени или для указания помеченной транзакции не изменился со времени Microsoft SQL Server 2000, но теперь он применим как к RESTORE DATABASE, так и к RESTORE LOG. |
Для восстановления базы данных на определенный момент времени инструкция RESTORE предоставляет параметр STOPAT, который обычно используется при восстановлении резервной копии журнала.
Базовый синтаксис:
RESTORE LOG database_name FROM <устройство_резервного_копирования> WITH STOPAT =time, RECOVERY…
Точка восстановления является самой последней фиксацией транзакции, которая произошла во время или до заданного зачения datetime, указанного в time.
Чтобы восстановить только изменения до определенного момента времени, для каждой восстанавливаемой резервной копии укажите WITH STOPAT = time. Это гарантирует, что конечное время не будет пропущено.
Обычно сценарий поэтапного восстановления состоит из следующих этапов.
- Восстановите последнюю полную резервную копию и, если таковая имеется, последнюю разностную резервную копию без восстановления базы данных (RESTORE DATABASE имя_базы_данных FROM устройство_резервного_копирования WITH NORECOVERY).
- Восстановите каждую резервную копию журнала транзакций в той же последовательности, в которой они были созданы, указывая время, когда необходимо остановить восстановление журнала (RESTORE DATABASE имя_базы_данных FROM <устройство_резервного_копирования> WITH STOPAT**=time,** RECOVERY).
Дополнительные сведения см. в разделе Восстановление базы данных на момент времени в пределах резервной копии.
См. также
Основные понятия
Применение резервных копий журнала транзакций
Использование помеченных транзакций (полная модель восстановления)
Основные сведения о восстановлении из резервных копий и по журналам в SQL Server
Другие ресурсы
backupset (Transact-SQL)
RESTORE (Transact-SQL)
Инструкция RESTORE HEADERONLY (Transact-SQL)
Реализация сценариев восстановления для баз данных SQL Server
Восстановление базы данных на момент времени в пределах резервной копии
Работа с последовательностями восстановления для баз данных SQL Server