Как создать резервную копию журнала транзакций при повреждении базы данных (Transact-SQL)

В этом подразделе рассматривается создание резервной копии журнала транзакций при повреждении базы данных.

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

  1. Для создания резервной копии активного журнала транзакций выполните инструкцию BACKUP LOG, указав:

    • имя базы данных, которой принадлежит журнал транзакций для резервного копирования;

    • устройство резервного копирования, на котором будет создана резервная копия журнала транзакций;

    • предложение NO_TRUNCATE.

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

  2. Дополнительно можно указать следующее.

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

    • Предложения SKIP и INIT, служащие для перезаписи носителя резервной копии, несмотря на наличие на нем резервных копий, срок действия которых еще не истек, или несовпадение имени носителя с именем на носителе резервной копии.

    • предложение FORMAT, которое инициализирует впервые используемый носитель резервных копий и перезаписывает заголовок носителя, если таковой существует.

      Если указано предложение FORMAT, то предложение INIT не требуется.

      Важное примечаниеВажно!

      Будьте предельно осторожны с использованием предложения FORMAT или INIT в инструкции BACKUP, так как при этом удаляются все резервные копии, сохраненные ранее на носителе резервных копий.

Пример

Важное примечаниеВажно!

База данных MyAdvWorks_FullRM является копией базы данных База данных AdventureWorks2008R2, в которой используется простая модель восстановления. Чтобы разрешить создание резервных копий журналов, перед проведением полного резервного копирования база данных должна быть настроена на использование модели полного восстановления путем выполнения инструкции ALTER DATABASE MyAdvWorks_FullRM SET RECOVERY FULL.

В этом примере выполняется резервное копирование активного журнала транзакций для базы данных MyAdvWorks_FullRM, несмотря на то, что она была повреждена и недоступна. Тем не менее сам журнал транзакций не поврежден и доступен.

BACKUP LOG MyAdvWorks_FullRM
   TO MyAdvWorks_FullRM_log1
   WITH NO_TRUNCATE;
GO