Резервные копии заключительного фрагмента журнала

Этот раздел относится только к тем базам данных, которые используют модель полного восстановления или модель восстановления с неполным протоколированием.

В большинстве случаев при использовании модели восстановления с неполным протоколированием или полной модели в SQL Server 2005 и более поздних версиях необходимо создать резервную копию заключительного фрагмента журнала, чтобы получить записи журнала, резервной копии которых еще отсутствуют. Резервная копия заключительного фрагмента журнала, сделанная непосредственно перед операцией восстановления, называется резервной копией заключительного фрагмента журнала.

Обычно в SQL Server 2005 и более поздних версиях перед восстановлением резервной копии базы данных необходимо создавать резервную копию заключительного фрагмента журнала. Резервная копия заключительного фрагмента журнала предотвращает потерю работы и поддерживает неповрежденную цепочку журналов. При восстановлении базы данных на момент сбоя резервная копия заключительного фрагмента журнала является наименее важной в плане восстановления. Если невозможно создать резервную копию заключительного фрагмента журнала, можно восстановить базу данных только до конца последней резервной копии, созданной перед сбоем.

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

Резервное копирование заключительного фрагмента журнала

Как любое резервное копирование, резервное копирование заключительного фрагмента журнала выполняется с помощью инструкции BACKUP LOG. Рекомендуется снимать резервную копию заключительного фрагмента журнала в следующих ситуациях.

  • Если база данных находится в режиме «в сети» и следующим действием над базой данных будет операция восстановления, то перед ее началом создайте резервную копию заключительного фрагмента журнала с параметром WITH NORECOVERY.

    BACKUP LOG имя_базы_данных TO <устройство_резервного_копирования> WITH NORECOVERY

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

    Чтобы избежать ошибки, обязательно используйте параметр NORECOVERY.

  • База данных находится в режиме «вне сети» и не запускается.

    Попробуйте снять резервную копию заключительного фрагмента журнала. Так как в это время никакие транзакции не выполняются, необязательно использовать параметр WITH NORECOVERY. Если база данных повреждена, то укажите параметр WITH CONTINUE_AFTER_ERROR следующим образом:

    BACKUP LOG имя_базы_данных TO <устройство_резервного_копирования>WITH CONTINUE_AFTER_ERROR

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

Данные параметры описываются в следующей таблице.

Параметр BACKUP LOG

Комментарии

NORECOVERY

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

Если параметры NO_TRUNCATE или COPY_ONLY не заданы, то журнал усекается.

Важное примечаниеВажно!
Рекомендуется не использовать параметр NO_TRUNCATE, если база данных не повреждена.

CONTINUE_AFTER_ERROR

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

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

Создание резервной копии журнала транзакций поврежденной базы данных

Резервное копирование заключительного фрагмента журнала с неполными метаданными резервной копии

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

Если резервная копия заключительного фрагмента журнала содержит неполные метаданные, то параметр has_incomplete_metadata в таблице backupset принимает значение 1. Кроме того, выходной аргумент HasIncompleteMetadata инструкции RESTORE HEADERONLY принимает значение 1.

Если метаданные в резервной копии заключительного фрагмента журнала неполные, то в таблице backupfilegroup большая часть сведений о файловых группах того времени в резервной копии заключительного фрагмента журнала будет утеряна. Большинство столбцов таблицы backupfilegroup содержит значение NULL, другие значения имеют следующие столбцы:

  • backup_set_id

  • filegroup_id

  • type

  • type_desc

  • is_readonly

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

Для следующих сценариев восстановления резервная копия заключительного фрагмента журнала не обязательна.

Журнал изменений

Обновленное содержимое

Обновлен раздел «Резервное копирование заключительного фрагмента журнала» — исправлена информация о резервном копировании заключительного фрагмента журнала, когда база данных вне сети и не запускается.