Создание резервной копии журнала транзакций при повреждении базы данных (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
Создание резервной копии заключительного фрагмента журнала транзакций
После соединения с соответствующим экземпляром компонента Microsoft Компонент SQL Server Database Engine в обозревателе объектов разверните дерево сервера, щелкнув его имя.
Раскройте узел Базы данных и в зависимости от типа восстанавливаемой базы данных выберите пользовательскую базу данных или раскройте узел Системные базы данных и выберите системную базу данных.
Щелкните правой кнопкой мыши базу данных, выберите пункт Задачи, а затем выберите команду Создать резервную копию. Откроется диалоговое окно Резервное копирование базы данных.
В списке База данных проверьте имя базы данных. При необходимости можно выбрать другую базу данных из списка.
Убедитесь в том, что используется либо модель восстановления FULL или BULK_LOGGED.
Выберите Журнал транзакций в списке Тип резервного копирования.
Оставьте снятым флажок Резервная копия только для копирования.
В области Набор резервного копирования оставьте имя резервного набора данных, предложенное по умолчанию в текстовом поле Имя, или введите другое имя резервного набора данных.
Введите описание резервной копии заключительного фрагмента журнала в текстовом поле Описание.
Укажите, когда истекает срок действия резервного набора данных.
Чтобы задать срок действия резервного набора данных, выберите пункт После (параметр по умолчанию) и введите срок действия набора в днях с момента его создания. Это значение может быть задано в диапазоне от 0 до 99999 дней 0 означает, что срок действия резервного набора данных не ограничен.
Значение по умолчанию задается в параметре Срок хранения носителей резервных копий по умолчанию (дней): диалогового окна Свойства сервера (страница Параметры базы данных). Для этого щелкните правой кнопкой мыши имя сервера в обозревателе объектов и выберите его свойства, затем выберите страницу Параметры базы данных.
Чтобы указать дату истечения срока действия резервного набора данных, выберите пункт На, и введите дату истечения срока действия резервного набора данных.
Чтобы выбрать тип назначения резервной копии, выберите пункт Диск или Лента. Чтобы выбрать пути к 64 (или менее) дискам или накопителям на магнитной ленте, содержащим один набор носителей, нажмите кнопку Добавить. Выбранные пути отображаются в списке Создать резервную копию в.
Чтобы удалить носитель резервной копии, выберите его и нажмите кнопку Удалить. Чтобы просмотреть содержимое носителя резервной копии, выберите его и щелкните Содержимое.
На странице Параметры выберите параметр Переписать носитель, указав один из следующих вариантов.
Создать резервную копию в существующем наборе носителей
Для этого параметра выберите вариант Добавить в существующий резервный набор данных или Перезаписать все существующие резервные наборы данных.
При необходимости выберите Проверить имя набора носителей и срок действия резервного набора данных, чтобы при выполнении операции резервного копирования производилась проверка срока действия набора носителей и резервного набора данных.
При необходимости введите имя в текстовое поле Имя набора носителей. Если имя не указано, создается набор носителей с пустым именем. Если имя набора носителей указано, то для носителя (ленточного или дискового) проверяется совпадение введенного и существующего имени.
Если оставить имя носителя пустым и установить рядом с ним флажок для проверки, имя носителя при успешном завершении также станет пустым.
Создать резервную копию в новом наборе носителей и удалить все существующие резервные наборы данных
Для этого параметра введите имя в текстовое поле Имя нового набора носителей и, при необходимости, введите описание набора носителей в поле Описание нового набора носителей.
Дополнительные сведения о параметрах установки носителя см. в разделе Наборы носителей, семейства носителей и резервные наборы данных (SQL Server).
В разделе Надежность можно установить следующие флажки.
Проверить резервную копию после завершения.
Рассчитать контрольную сумму перед записью на носитель.
Продолжить при ошибке контрольной суммы
Дополнительные сведения о контрольных суммах см. в разделе Возможные ошибки носителей во время резервного копирования и восстановления (SQL Server).
В разделе Журнал транзакций установите флажок Создать резервную копию заключительного фрагмента журнала и оставить базу данных в состоянии восстановления.
Это эквивалентно следующей инструкции BACKUP:
BACKUP LOG <database_name> TO <backup_device> WITH NORECOVERY
Важно! Во время восстановления в диалоговом окне «Восстановление базы данных» тип резервной копии заключительного фрагмента журнала отображается как Журнал транзакций (только копия).
При резервном копировании на накопитель на магнитной ленте (как указано в разделе Назначение страницы Общие) активен параметр Выгрузить ленту после резервного копирования. Щелкните этот параметр, чтобы активировать параметр Перемотать ленту перед выгрузкой.
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
[В начало]
См. также
Справочник
Резервное копирование базы данных (страница «Параметры»)
Резервное копирование базы данных (страница «Общие»)
Основные понятия
Восстановление резервной копии журнала транзакций (SQL Server)
Применение резервных копий журналов транзакций (SQL Server)