Резервное копирование журнала транзакций (SQL Server)

В этом разделе описывается резервное копирование журнала транзакций в SQL Server 2014 с помощью 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 в Обозревателе объектов щелкните имя сервера для отображения дерева серверов.

  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

  • Тройной DES

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

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

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

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

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

Пример (Transact-SQL)

Это важно

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

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

BACKUP LOG AdventureWorks2012  
   TO MyAdvWorks_FullRM_log1;  
GO  

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

Backup-SqlDatabase Используйте командлет и укажите Log значение -BackupAction параметра.

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

```powershell
Backup-SqlDatabase -ServerInstance Computer\Instance -Database MyDB -BackupAction Log  
```  

Сведения о настройке и использовании поставщика SQL Server PowerShell см. в статье о поставщике SQL Server PowerShell.

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

См. также

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