SQL Server: если я не укажу режим RECOVERY для RESTORE DATABASE, что будет по умолчанию? - PullRequest
1 голос
/ 05 октября 2011

От: http://msdn.microsoft.com/en-us/library/ms187495.aspx

Пример:

- Восстановить обычную резервную копию журнала (из набора резервных копий 2).

RESTORE LOG AdventureWorks2008R2
FROM DISK = 'Z:\SQLServerBackups\AdventureWorks2008R2FullRM.bak'
WITH FILE=2, 
NORECOVERY;

Мой вопрос: если я не укажу NORECOVERY, будет ли это по умолчанию?У меня есть несколько баз данных, которые были перенесены таким образом, и я не знаю, как определить, какая модель восстановления использовалась.

Спасибо

1 Ответ

2 голосов
/ 05 октября 2011

ВОССТАНОВЛЕНИЕ по умолчанию.См. Документацию по команде RESTORE , которая гласит:

Сравнение RECOVERY и NORECOVERY

Откат контролируется оператором RESTORE через [RECOVERY |NORECOVERY] параметры:

NORECOVERY указывает, что откат не происходит.Это позволяет выполнить откат для продолжения со следующей инструкцией в последовательности.

В этом случае последовательность восстановления может восстанавливать другие резервные копии и выполнять откат их вперед.

RECOVERY (по умолчанию) указывает, что откатвозврат должен быть выполнен после завершения отката для текущей резервной копии.

Для восстановления базы данных требуется, чтобы весь набор восстанавливаемых данных (набор прокрутки) соответствовал базе данных.Если набор прокрутки не был перенесен достаточно далеко, чтобы соответствовать базе данных, и указан параметр RECOVERY, компонент Database Engine выдает ошибку.

...