Поделиться через


резервное копирование (SQL Server) Tail-Log

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

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

Замечание

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

Сценарии, требующие резервного копирования Tail-Log

Рекомендуется создать резервную копию tail-log в следующих сценариях:

  • Если база данных находится в сети, и вы планируете выполнить операцию восстановления в базе данных, начните с резервного копирования хвоста журнала. Чтобы избежать ошибки для онлайн-базы данных, необходимо использовать опцию WITH NORECOVERY оператора BACKUPTransact-SQL.

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

  • Если база данных повреждена, попробуйте создать резервную копию концевого журнала с помощью параметра WITH CONTINUE_AFTER_ERROR в инструкции BACKUP.

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

В следующей таблице обобщены параметры BACKUP NORECOVERY и CONTINUE_AFTER_ERROR.

Опция BACKUP LOG Комментарии
NORECOVERY Используйте NORECOVERY всякий раз, когда вы планируете продолжить операцию восстановления в базе данных. NORECOVERY принимает базу данных в состояние восстановления. Это гарантирует, что база данных не изменяется после резервного копирования tail-log. Журнал усечен, если параметр NO_TRUNCATE или параметр COPY_ONLY также не указан.

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

Примечание. При резервном копировании хвоста журнала в поврежденной базе данных некоторые метаданные, которые обычно записываются в резервных копиях журналов, могут быть недоступны. Дополнительные сведения см. в разделе Tail-Log Резервные копии, имеющие неполные метаданные резервного копирования, далее в этом разделе.

Tail-Log резервные копии с неполными метаданными резервного копирования

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

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

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

  • идентификатор_набора_резервных_копий

  • filegroup_id

  • тип

  • type_desc

  • is_readonly

Связанные задачи

Сведения о создании резервного копирования в журнале tail-log см. в статье Резервное копирование журнала транзакций при повреждении базы данных (SQL Server).

Чтобы восстановить резервную копию журнала транзакций, см. статью "Восстановление резервного копирования журнала транзакций" (SQL Server).

См. также

BACKUP (Transact-SQL)
RESTORE (Transact-SQL)
Резервное копирование и восстановление баз данных SQL Server
Резервные копии только для копирования (SQL Server)
Резервные копии журналов транзакций (SQL Server)
Применение резервных копий журналов транзакций (SQL Server)