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

Применимо к:SQL Server

В этом разделе описывается резервное копирование журнала транзакций в SQL Server с помощью SQL Server Management Studio, Transact-SQL или PowerShell.

Перед началом

ограничения

Инструкция BACKUP не разрешена в явных и неявных транзакциях. Явными транзакциями являются транзакции, для которых явно назначаются запуск и остановка.

Рекомендации

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

  • По умолчанию каждая успешная операция резервного копирования добавляет запись в журнал ошибок служб SQL Server и в журнал системных событий. Если создание резервной копии журналов производится очень часто, сообщения об успешном завершении накапливаются очень быстро. Это приводит к увеличению журналов ошибок, затрудняя поиск других сообщений. В таких случаях эти записи журнала можно отключить с помощью флага трассировки 3226. Если ни один из скриптов не зависит от этих записей, см. раздел Флаги трассировки (Transact-SQL).

Разрешения

Нужные разрешения BACKUP DATABASE и BACKUP LOG назначаются по умолчанию членам предопределенной роли сервера sysadmin и предопределенным ролям базы данных db_owner и db_backupoperator. Перед началом убедитесь в наличии необходимых разрешений.

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

Использование среды SQL Server Management Studio

  1. После подключения к соответствующему экземпляру компонента Компонент SQL Server Database Engineв обозревателе объектов разверните дерево сервера, щелкнув его имя.

  2. Раскройте узел Базы данныхи в зависимости от типа восстанавливаемой базы данных выберите пользовательскую базу данных или раскройте узел Системные базы данных и выберите системную базу данных.

  3. Щелкните правой кнопкой мыши базу данных, выберите пункт Задачи, а затем команду Создать резервную копию. Откроется диалоговое окно Резервное копирование базы данных .

  4. В списке База данных проверьте имя базы данных. При необходимости можно выбрать другую базу данных из списка.

  5. Убедитесь в том, что используется либо модель восстановления FULL , либо BULK_LOGGED.

  6. Выберите Журнал транзакций в списке Тип резервного копирования.

  7. (Необязательно) Выберите вариант Копировать только резервные копии, чтобы создать резервную копию только для копирования. Резервная копия только для копирования — это SQL Server резервная копия, которая не зависит от последовательности обычных SQL Server резервных копий. См. статью Резервные копии только для копирования (SQL Server).

    Примечание

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

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

  9. (Необязательно) В текстовом поле Описание введите описание резервного набора данных.

  10. Укажите, когда истекает срок действия резервного набора данных.

    • Чтобы задать срок действия резервного набора данных, выберите пункт После (параметр по умолчанию) и введите срок действия набора в днях с момента его создания. Это значение может быть задано в диапазоне от 0 до 99 999 дней. Значение 0 означает, что срок действия резервного набора данных не ограничен.

      Значение по умолчанию задается в параметре Срок хранения носителей резервных копий по умолчанию (дней) диалогового окна Свойства сервера (страницаПараметры базы данных ). Для этого щелкните правой кнопкой мыши имя сервера в обозревателе объектов и выберите его свойства, затем страницу Параметры базы данных .

    • Чтобы указать дату истечения срока действия резервного набора данных, выберите пункт Наи введите дату истечения срока действия резервного набора данных.

  11. Чтобы выбрать тип назначения резервной копии, выберите пункт Диск, URL-адрес или Лента. Чтобы выбрать пути к 64 (или менее) дискам или накопителям на магнитной ленте, содержащим один набор носителей, нажмите кнопку Добавить. Выбранные пути отображаются в списке Создать резервную копию в .

    Чтобы удалить носитель резервной копии, выберите его и нажмите кнопку Удалить. Чтобы просмотреть содержимое носителя резервной копии, выберите его и щелкните Содержимое.

  12. Чтобы просмотреть или выбрать дополнительные параметры, нажмите кнопку Параметры на панели Выбор страницы .

  13. Выберите параметр Переписать носитель , указав один из следующих вариантов:

    • Создать резервную копию в существующем наборе носителей

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

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

      • (Необязательно) Введите имя в текстовом поле Имя набора носителей. Если имя не указано, создается набор носителей с пустым именем. Если имя набора носителей указано, то для носителя (ленточного или дискового) проверяется совпадение введенного и существующего имени.

      Если оставить имя носителя пустым и установить рядом с ним флажок для проверки, имя носителя при успешном завершении также станет пустым.

    • Создать резервную копию в новом наборе носителей и удалить все существующие резервные наборы данных

      Для этого параметра введите имя в текстовое поле Имя нового набора носителей и при необходимости опишите набор носителей в текстовом поле Описание нового набора носителей( см. раздел Наборы носителей, семейства носителей и резервные наборы данных (SQL Server)).

  14. В разделе Надежность можно установить следующие флажки.

  15. В разделе Журнал транзакций можно установить следующие флажки.

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

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

      Резервное копирование заключительного фрагмента журнала выполняется после сбоя, чтобы предотвратить потерю сделанной работы. Резервное копирование активного журнала (резервное копирование заключительного фрагмента журнала) следует выполнять как после сбоя, так и перед началом восстановления базы данных, а также при сбое базы данных-получателя. Выбор этого параметра равносилен применению параметра NORECOVERY в инструкции BACKUP LOG языка Transact-SQL.

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

  16. При резервном копировании на накопитель на магнитной ленте (как указано в разделе Назначение страницы Общие ) активен параметр Выгрузить ленту после резервного копирования . Щелкните этот параметр, чтобы активировать параметр Перемотать ленту перед выгрузкой .

  17. SQL Server 2008 Enterprise и более поздние версии поддерживают сжатие резервных копий. По умолчанию сжатие резервных копий зависит от значения параметра конфигурации сервера backup-compression default . Однако независимо от текущего значения по умолчанию на уровне сервера можно сжать резервные копии, установив параметр Сжимать резервные копии, или отказаться от сжатия резервных копий, установив параметр Не сжимать резервные копии.

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

    Для шифрования файла резервной копии установите флажок Зашифровать файл резервной копии . Выберите алгоритм шифрования файла резервной копии и выберите сертификат или асимметричный ключ. Доступны следующие алгоритмы шифрования:

    • AES 128

    • AES 192

    • AES 256

    • Triple DES

Использование Transact-SQL

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

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

  • Устройство резервного копирования, на которое записывается резервная копия журнала транзакций.

Важно!

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

Дополнительные сведения см. в разделе Просмотр или изменение модели восстановления базы данных (SQL Server).

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

BACKUP LOG AdventureWorks2012  
   TO MyAdvWorks_FullRM_log1;  
GO  

Использование PowerShell

Настройка и использование поставщика SQL Server PowerShell. Используйте командлет Backup-SqlDatabase и укажите Log в качестве значения параметра -BackupAction .

В следующем примере создается полная резервная копия журналов базы данных <myDatabase> в заданном по умолчанию расположении резервного копирования на экземпляре сервера Computer\Instance.

Backup-SqlDatabase -ServerInstance Computer\Instance -Database <myDatabase> -BackupAction Log  

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

См. также раздел

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