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

В этой теме описывается резервное копирование журнала транзакций в случае, если база данных повреждена в SQL Server 2012. Для этого используется Среда SQL Server Management Studio или Transact-SQL.

В этом разделе

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

    Ограничения

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

    Безопасность

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

    Среда SQL Server Management Studio

    Transact-SQL

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

Ограничения

  • Инструкция BACKUP не разрешена в явных и неявных транзакциях.

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

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

Безопасность

Разрешения

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

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

Значок стрелки, используемый со ссылкой «В начало»[В начало]

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

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

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

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

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

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

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

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

  7. Оставьте снятым флажок Резервная копия только для копирования.

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

  9. Введите описание резервной копии заключительного фрагмента журнала в текстовом поле Описание.

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

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

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

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

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

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

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

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

      Для этого параметра выберите вариант Добавить в существующий резервный набор данных или Перезаписать все существующие резервные наборы данных.

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

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

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

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

      Для этого параметра введите имя в текстовое поле Имя нового набора носителей и, при необходимости, введите описание набора носителей в поле Описание нового набора носителей.

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

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

    • Проверить резервную копию после завершения.

    • Рассчитать контрольную сумму перед записью на носитель.

    • Продолжить при ошибке контрольной суммы

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

  14. В разделе Журнал транзакций установите флажок Создать резервную копию заключительного фрагмента журнала и оставить базу данных в состоянии восстановления.

    Это эквивалентно следующей инструкции BACKUP:

    BACKUP LOG <database_name> TO <backup_device> WITH NORECOVERY

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

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

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

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

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

Значок стрелки, используемый со ссылкой «В начало»[В начало]

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

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

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

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

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

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

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

Пример (Transact-SQL)

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

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

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

BACKUP LOG AdventureWorks2012
   TO MyAdvWorks_FullRM_log1
   WITH NO_TRUNCATE;
GO

Значок стрелки, используемый со ссылкой «В начало»[В начало]

См. также

Справочник

Резервное копирование базы данных (страница «Параметры»)

Резервное копирование базы данных (страница «Общие»)

BACKUP (Transact-SQL)

Основные понятия

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

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

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

Восстановления файлов (простая модель восстановления)

Файлы из резервных копий (модель полного восстановления)