Планирование и выполнение последовательностей восстановления (модель полного восстановления)

Сведения в этом разделе относятся к базам данных SQL Server, обычно использующим модель полного восстановления.

Последовательность восстановления — это последовательность из одной или нескольких инструкций RESTORE. Обычно она инициализирует содержимое базы данных, файлы или страницы, производя восстановление (стадия копирования данных), выполняет накат записанных транзакций (стадия повтора) и откатывает нефиксированные транзакции (стадия отката). Дополнительные сведения об этих фазах см. в разделе Основные сведения о восстановлении из резервных копий и по журналам в SQL Server.

ПримечаниеПримечание

Основные сведения о типах резервных копий см. в разделе Общие сведения о резервном копировании (SQL Server).

В простых случаях для восстановления необходима только полная резервная копия базы данных, разностная резервная копия и последующие резервные копии журнала. В таких ситуациях выстроить правильную последовательность восстановления нетрудно. Например, чтобы восстановить всю базу данных до точки сбоя, начинают с резервного копирования журнала действующих транзакций (заключительного фрагмента журнала). Затем восстанавливают последнюю полную резервную копию базы данных, последнюю разностную резервную копию базы данных (если она есть), а затем все последующие резервные копии журналов в порядке их выполнения.

В более сложных случаях может оказаться совсем непросто определить правильную последовательность восстановления. Например, для последовательности восстановления может потребоваться несколько резервных копий файла или восстановление данных до определенного момента времени. В самых сложных случаях может потребоваться обход разветвленного пути восстановления, в результате которого образуются одна или несколько вилок восстановления.

Планирование последовательности восстановления

Перед запуском последовательности восстановления выполните следующие действия.

  1. По возможности создайте резервную копию заключительного фрагмента журнала базы данных. Дополнительные сведения см. в разделе Резервные копии заключительного фрагмента журнала.

  2. Определите целевую точку восстановления.

    Целевая точка восстановления может быть любым моментом времени или меткой в пределах резервной копии журнала транзакций. Дополнительные сведения см. в разделе Восстановление базы данных на момент времени в пределах резервной копии или Использование помеченных транзакций (модель полного восстановления).

  3. Определите тип выполняемого восстановления. Дополнительные сведения см. в разделах:

  4. Определите, какие резервные копии необходимы, и убедитесь, что доступны необходимые наборы носителей и устройства резервного копирования. Дополнительные сведения см. в разделе Работа с носителями резервных копий в SQL Server.

Выполнение последовательности восстановления

Выполнение последовательности восстановления.

  1. Чтобы начать последовательность, восстановите одну или несколько резервных копий данных, например: резервную копию данных, частичную резервную копию, одну или несколько резервных копий файлов.

  2. При необходимости можно восстановить последние разностные резервные копии, основанные на этих полных резервных копиях.

    Для каждой полной резервной копии, которую планируется восстановить, определите, является ли она основой для каких-либо разностных резервных копий. Если да, то по возможности восстановите самую последнюю разностную копию. Дополнительные сведения см. в разделе Использование разностного резервного копирования.

  3. Произведите накат базы данных, по порядку восстановив резервные копии журналов, заканчивая резервной копией, содержащей точку восстановления. Необходимость в применении всех резервных копий зависит от того, какая из них содержит целевую точку восстановления.

    • Если точка восстановления совпадает с точкой сбоя, необходимо восстановить все резервные копии журнала, созданные с момента восстановления последней резервной копии данных (полной или разностной). Дополнительные сведения см. в разделе Применение резервных копий журнала транзакций.

    • Для восстановления на момент времени самые последние резервные копии журнала могут не потребоваться. Дополнительные сведения см. в разделе Восстановление на момент времени.

Перезапуск последовательности восстановления

Столкнувшись с проблемой в ходе выполнения последовательности восстановления, можно выйти и перезапустить последовательность восстановления заново с самого начала. Например, если случайно было восстановлено слишком много резервных копий журнала и тем самым восстановление перешло запланированную точку восстановления, необходимо перезапустить последовательность восстановления и выполнить ее до резервной копии журнала, содержащей целевую точку восстановления.