Это интересно

  • ОКД
  • ЗКС
  • ИПО
  • КНПВ
  • Мондиоринг
  • Большой ринг
  • Французский ринг
  • Аджилити
  • Фризби

Опрос

Какой уровень дрессировки необходим Вашей собаке?
 

Полезные ссылки

РКФ

 

Все о дрессировке собак


Стрижка собак в Коломне

Поиск по сайту

Резервные копии журналов транзакций (SQL Server)Transaction Log Backups (SQL Server). Очистка журнала транзакций ms sql


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

  • 06/25/2013
  • Время чтения: 9 мин

В этой статье

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

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

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

    Предварительные требования

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

  • Для восстановления резервной копии журнала транзакций используется:

    Среда SQL Server Management Studio

    Transact-SQL

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

Перед началом работы

Предварительные требования

  • Резервные копии должны восстанавливаться в том же порядке, в котором они были созданы. Перед тем как можно будет восстановить определенную резервную копию журнала транзакций, вначале должны быть восстановлены следующие более ранние резервные копии без отката незафиксированных транзакций, т.е.с параметром WITH NORECOVERY:

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

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

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

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

Разрешения

Разрешения на выполнение инструкции RESTORE даются ролям, в которых данные о членстве всегда доступны серверу. Так как членство в предопределенной роли базы данных может быть проверено только тогда, когда база данных доступна и не повреждена, что не всегда имеет место при выполнении инструкции RESTORE, члены предопределенной роли базы данных db_owner не имеют разрешений RESTORE.

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

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

ПредупреждениеВнимание!

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

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

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

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

  3. Щелкните правой кнопкой мыши базу данных, выберите пункт Задачи, затем пункт Восстановить и пункт Журнал транзакций. В результате откроется диалоговое окно Восстановление журнала транзакций.

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

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

  4. На странице Общие в списке База данных выберите имя базы данных. Перечислены только базы данных, которые находятся в состоянии восстановления.

  5. Чтобы указать источник и расположение восстанавливаемых резервных наборов данных, выберите один из следующих вариантов.

    • Из предыдущих резервных копий базы данных

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

    • Из файла или с ленты

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

      После добавления устройств в список окна Носитель резервной копии нажмите кнопку ОК для возвращения на страницу Общие.

  6. В сетке Выберите резервные копии журнала транзакций для восстановления выберите нужные резервные наборы. В этой сетке перечислены резервные копии журналов транзакций, доступные для выбранной базы данных. Резервная копия журналов доступна только в том случае, если ее первый номер LSN больше, чем последний номер LSN базы данных. Резервные копии журналов перечислены в порядке содержащихся в них номеров LSN и должны быть восстановлены в этом порядке.

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

    Заголовок

    Значение

    Восстановить

    Установленные флажки показывают резервные наборы данных для восстановления.

    Название

    Имя резервного набора данных.

    Компонент

    Компонент, для которого выполнено резервное копирование: База данных, Файл или <пусто> (для журналов транзакций).

    База данных

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

    Дата начала

    Дата и время начала резервного копирования, представленные в соответствии с региональными стандартами клиента.

    Дата завершения

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

    Первый номер LSN

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

    Последний номер LSN

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

    Номер LSN для контрольной точки

    Регистрационный номер транзакции в журнале для последней контрольной точки на время создания резервной копии.

    Полный номер LSN

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

    Сервер

    Имя экземпляра ядра СУБД, выполнившего операцию резервного копирования.

    Имя пользователя

    Имя пользователя, выполнившего операцию резервного копирования.

    Размер

    Размер резервного набора данных в байтах.

    Позиция

    Позиция резервного набора данных в томе.

    Истечение срока действия

    Дата и время окончания срока действия резервного набора данных.

  7. Выполните одно из следующих действий:

    • На момент времени

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

    • До помеченной транзакции

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

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

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

      Заголовок

      Значение

      <пусто>

      Отображает флажок для выбора маркера.

      Отметка транзакции

      Имя помеченной транзакции, заданное пользователем при фиксации транзакции.

      Дата

      Дата и время фиксации транзакции. Дата и время транзакции отображаются, в соответствии с данными в таблице msdb gmarkhistory, а не с датой и временем на клиентском компьютере.

      Описание

      Описание помеченной транзакции, заданное пользователем при ее фиксации (при его наличии).

      Номер LSN

      Регистрационный номер помеченной транзакции в журнале.

      База данных

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

      Имя пользователя

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

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

  9. В разделе Восстановление параметров предусмотрены следующие варианты выбора:

    • Сохранить параметры репликации (WITH KEEP_REPLICATION)

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

      Этот параметр доступен только вместе с параметром Оставить базу данных готовой к использованию путем отката незафиксированных транзакций... (описанным ниже), который эквивалентен восстановлению резервной копии с параметром RECOVERY.

      Выбор этого параметра равнозначен использованию параметра KEEP_REPLICATION в инструкции Transact-SQL RESTORE.

    • Выдавать приглашение перед восстановлением каждой резервной копии

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

      Этот параметр особенно полезен, если необходимо поочередно менять ленты для различных наборов носителей. Например, можно использовать этот параметр, когда на сервере установлено только одно ленточное устройство. Перед нажатием кнопки ОК дождитесь готовности к продолжению.

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

    • Ограничить доступ к восстановленной базе данных (WITH RESTRICTED_USER)

      Доступ к восстановленной базе данных будут иметь только члены ролей db_owner, dbcreator или sysadmin.

      Выбор этого параметра аналогичен использованию параметра RESTRICTED_USER в инструкции Transact-SQL RESTORE.

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

    • Оставить базу данных готовой к использованию, выполнив откат незафиксированных транзакций. Невозможно восстановить дополнительные журналы транзакций. (RESTORE WITH RECOVERY)

      Восстанавливает базу данных. Этот параметр равнозначен использованию параметра RECOVERY в инструкции Transact-SQL RESTORE.

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

    • Оставить базу данных в нерабочем состоянии и не производить откат незафиксированных транзакций. Можно восстановить дополнительные журналы транзакций. (RESTORE WITH NORECOVERY)

      Оставить базу данных в состоянии RESTORING (невосстановленном). Этот параметр равнозначен использованию параметра NORECOVERY в инструкции Transact-SQL RESTORE.

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

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

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

    • Оставить базу данных в режиме только для чтения. Отменить незафиксированные транзакции, но сохранить отмененные действия в файле, чтобы результаты восстановления могли быть отменены. (RESTORE WITH STANDBY)

      Оставить базу данных в резервном состоянии. Этот параметр равнозначен использованию параметра STANDBY в инструкции Transact-SQL RESTORE.

      При выборе этого параметра необходимо указать резервный файл.

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

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

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

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

Во избежание неоднозначности в каждой инструкции WITH RECOVERY рекомендуется явное задание параметра WITH NORECOVERY или WITH RECOVERY. Это особенно важно учитывать при написании скриптов.

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

  1. Чтобы применить резервную копию журналов транзакций, выполните инструкцию RESTORE LOG, указав при этом:

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

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

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

    В этой инструкции применяется следующая основная синтаксическая конструкция:

    RESTORE LOG database_name FROM <устройство_резервного_копирования> WITH NORECOVERY.

    Здесь database_name — имя базы данных, а <устройство_резервного_копирования>— имя устройства, на котором содержится восстанавливаемая резервная копия журнала.

  2. Повторите шаг 1 для каждой резервной копии журналов транзакций, которые необходимо применить.

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

    • Восстановить базу данных в составе последней инструкции RESTORE LOG:

      RESTORE LOG <database_name> FROM <backup_device> WITH RECOVERY; GO
    • Подождать, а затем восстановить базу данных отдельной инструкцией RESTORE DATABASE:

      RESTORE LOG <database_name> FROM <backup_device> WITH NORECOVERY; RESTORE DATABASE <database_name> WITH RECOVERY; GO

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

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

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

Примеры (Transact-SQL)

По умолчанию для базы данных AdventureWorks2012 используется простая модель восстановления. В следующем примере для перехода на модель полного восстановления требуется изменить базу данных следующим образом:

ALTER DATABASE AdventureWorks2012 SET RECOVERY FULL;
А.Применение одной резервной копии журнала транзакций

В следующем примере база данных AdventureWorks2012 восстанавливается с помощью полной резервной копии базы данных, которая находится на устройстве резервного копирования с именем AdventureWorks2012_1. Затем применяется первая резервная копия журнала транзакций, находящаяся на устройстве с именем AdventureWorks2012_log. В заключение происходит восстановление базы данных.

RESTORE DATABASE AdventureWorks2012 FROM AdventureWorks2012_1 WITH NORECOVERY; GO RESTORE LOG AdventureWorks2012 FROM AdventureWorks2012_log WITH FILE = 1, WITH NORECOVERY; GO RESTORE DATABASE AdventureWorks2012 WITH RECOVERY; GO
Б.Применение нескольких резервных копий журналов транзакций

В следующем примере база данных AdventureWorks2012 восстанавливается с помощью полной резервной копии базы данных, которая находится на устройстве резервного копирования с именем AdventureWorks2012_1. Затем последовательно применяются первые три копии журнала транзакций, находящиеся на устройстве с именем AdventureWorks2012_log. В заключение происходит восстановление базы данных.

RESTORE DATABASE AdventureWorks2012 FROM AdventureWorks2012_1 WITH NORECOVERY; GO RESTORE LOG AdventureWorks2012 FROM AdventureWorks2012_log WITH FILE = 1, NORECOVERY; GO RESTORE LOG AdventureWorks2012 FROM AdventureWorks2012_log WITH FILE = 2, WITH NORECOVERY; GO RESTORE LOG AdventureWorks2012 FROM AdventureWorks2012_log WITH FILE = 3, WITH NORECOVERY; GO RESTORE DATABASE AdventureWorks2012 WITH RECOVERY; GO

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

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

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

См. также

Справочник

RESTORE (Transact-SQL)

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

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

msdn.microsoft.com

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

  • 06/25/2013
  • Время чтения: 9 мин

В этой статье

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

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

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

    Предварительные требования

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

  • Для восстановления резервной копии журнала транзакций используется:

    Среда SQL Server Management Studio

    Transact-SQL

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

Перед началом работы

Предварительные требования

  • Резервные копии должны восстанавливаться в том же порядке, в котором они были созданы. Перед тем как можно будет восстановить определенную резервную копию журнала транзакций, вначале должны быть восстановлены следующие более ранние резервные копии без отката незафиксированных транзакций, т.е.с параметром WITH NORECOVERY:

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

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

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

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

Разрешения

Разрешения на выполнение инструкции RESTORE даются ролям, в которых данные о членстве всегда доступны серверу. Так как членство в предопределенной роли базы данных может быть проверено только тогда, когда база данных доступна и не повреждена, что не всегда имеет место при выполнении инструкции RESTORE, члены предопределенной роли базы данных db_owner не имеют разрешений RESTORE.

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

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

ПредупреждениеВнимание!

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

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

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

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

  3. Щелкните правой кнопкой мыши базу данных, выберите пункт Задачи, затем пункт Восстановить и пункт Журнал транзакций. В результате откроется диалоговое окно Восстановление журнала транзакций.

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

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

  4. На странице Общие в списке База данных выберите имя базы данных. Перечислены только базы данных, которые находятся в состоянии восстановления.

  5. Чтобы указать источник и расположение восстанавливаемых резервных наборов данных, выберите один из следующих вариантов.

    • Из предыдущих резервных копий базы данных

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

    • Из файла или с ленты

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

      После добавления устройств в список окна Носитель резервной копии нажмите кнопку ОК для возвращения на страницу Общие.

  6. В сетке Выберите резервные копии журнала транзакций для восстановления выберите нужные резервные наборы. В этой сетке перечислены резервные копии журналов транзакций, доступные для выбранной базы данных. Резервная копия журналов доступна только в том случае, если ее первый номер LSN больше, чем последний номер LSN базы данных. Резервные копии журналов перечислены в порядке содержащихся в них номеров LSN и должны быть восстановлены в этом порядке.

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

    Заголовок

    Значение

    Восстановить

    Установленные флажки показывают резервные наборы данных для восстановления.

    Название

    Имя резервного набора данных.

    Компонент

    Компонент, для которого выполнено резервное копирование: База данных, Файл или <пусто> (для журналов транзакций).

    База данных

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

    Дата начала

    Дата и время начала резервного копирования, представленные в соответствии с региональными стандартами клиента.

    Дата завершения

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

    Первый номер LSN

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

    Последний номер LSN

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

    Номер LSN для контрольной точки

    Регистрационный номер транзакции в журнале для последней контрольной точки на время создания резервной копии.

    Полный номер LSN

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

    Сервер

    Имя экземпляра ядра СУБД, выполнившего операцию резервного копирования.

    Имя пользователя

    Имя пользователя, выполнившего операцию резервного копирования.

    Размер

    Размер резервного набора данных в байтах.

    Позиция

    Позиция резервного набора данных в томе.

    Истечение срока действия

    Дата и время окончания срока действия резервного набора данных.

  7. Выполните одно из следующих действий:

    • На момент времени

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

    • До помеченной транзакции

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

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

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

      Заголовок

      Значение

      <пусто>

      Отображает флажок для выбора маркера.

      Отметка транзакции

      Имя помеченной транзакции, заданное пользователем при фиксации транзакции.

      Дата

      Дата и время фиксации транзакции. Дата и время транзакции отображаются, в соответствии с данными в таблице msdb gmarkhistory, а не с датой и временем на клиентском компьютере.

      Описание

      Описание помеченной транзакции, заданное пользователем при ее фиксации (при его наличии).

      Номер LSN

      Регистрационный номер помеченной транзакции в журнале.

      База данных

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

      Имя пользователя

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

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

  9. В разделе Восстановление параметров предусмотрены следующие варианты выбора:

    • Сохранить параметры репликации (WITH KEEP_REPLICATION)

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

      Этот параметр доступен только вместе с параметром Оставить базу данных готовой к использованию путем отката незафиксированных транзакций... (описанным ниже), который эквивалентен восстановлению резервной копии с параметром RECOVERY.

      Выбор этого параметра равнозначен использованию параметра KEEP_REPLICATION в инструкции Transact-SQL RESTORE.

    • Выдавать приглашение перед восстановлением каждой резервной копии

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

      Этот параметр особенно полезен, если необходимо поочередно менять ленты для различных наборов носителей. Например, можно использовать этот параметр, когда на сервере установлено только одно ленточное устройство. Перед нажатием кнопки ОК дождитесь готовности к продолжению.

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

    • Ограничить доступ к восстановленной базе данных (WITH RESTRICTED_USER)

      Доступ к восстановленной базе данных будут иметь только члены ролей db_owner, dbcreator или sysadmin.

      Выбор этого параметра аналогичен использованию параметра RESTRICTED_USER в инструкции Transact-SQL RESTORE.

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

    • Оставить базу данных готовой к использованию, выполнив откат незафиксированных транзакций. Невозможно восстановить дополнительные журналы транзакций. (RESTORE WITH RECOVERY)

      Восстанавливает базу данных. Этот параметр равнозначен использованию параметра RECOVERY в инструкции Transact-SQL RESTORE.

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

    • Оставить базу данных в нерабочем состоянии и не производить откат незафиксированных транзакций. Можно восстановить дополнительные журналы транзакций. (RESTORE WITH NORECOVERY)

      Оставить базу данных в состоянии RESTORING (невосстановленном). Этот параметр равнозначен использованию параметра NORECOVERY в инструкции Transact-SQL RESTORE.

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

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

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

    • Оставить базу данных в режиме только для чтения. Отменить незафиксированные транзакции, но сохранить отмененные действия в файле, чтобы результаты восстановления могли быть отменены. (RESTORE WITH STANDBY)

      Оставить базу данных в резервном состоянии. Этот параметр равнозначен использованию параметра STANDBY в инструкции Transact-SQL RESTORE.

      При выборе этого параметра необходимо указать резервный файл.

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

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

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

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

Во избежание неоднозначности в каждой инструкции WITH RECOVERY рекомендуется явное задание параметра WITH NORECOVERY или WITH RECOVERY. Это особенно важно учитывать при написании скриптов.

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

  1. Чтобы применить резервную копию журналов транзакций, выполните инструкцию RESTORE LOG, указав при этом:

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

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

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

    В этой инструкции применяется следующая основная синтаксическая конструкция:

    RESTORE LOG database_name FROM <устройство_резервного_копирования> WITH NORECOVERY.

    Здесь database_name — имя базы данных, а <устройство_резервного_копирования>— имя устройства, на котором содержится восстанавливаемая резервная копия журнала.

  2. Повторите шаг 1 для каждой резервной копии журналов транзакций, которые необходимо применить.

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

    • Восстановить базу данных в составе последней инструкции RESTORE LOG:

      RESTORE LOG <database_name> FROM <backup_device> WITH RECOVERY; GO
    • Подождать, а затем восстановить базу данных отдельной инструкцией RESTORE DATABASE:

      RESTORE LOG <database_name> FROM <backup_device> WITH NORECOVERY; RESTORE DATABASE <database_name> WITH RECOVERY; GO

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

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

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

Примеры (Transact-SQL)

По умолчанию для базы данных AdventureWorks2012 используется простая модель восстановления. В следующем примере для перехода на модель полного восстановления требуется изменить базу данных следующим образом:

ALTER DATABASE AdventureWorks2012 SET RECOVERY FULL;
А.Применение одной резервной копии журнала транзакций

В следующем примере база данных AdventureWorks2012 восстанавливается с помощью полной резервной копии базы данных, которая находится на устройстве резервного копирования с именем AdventureWorks2012_1. Затем применяется первая резервная копия журнала транзакций, находящаяся на устройстве с именем AdventureWorks2012_log. В заключение происходит восстановление базы данных.

RESTORE DATABASE AdventureWorks2012 FROM AdventureWorks2012_1 WITH NORECOVERY; GO RESTORE LOG AdventureWorks2012 FROM AdventureWorks2012_log WITH FILE = 1, WITH NORECOVERY; GO RESTORE DATABASE AdventureWorks2012 WITH RECOVERY; GO
Б.Применение нескольких резервных копий журналов транзакций

В следующем примере база данных AdventureWorks2012 восстанавливается с помощью полной резервной копии базы данных, которая находится на устройстве резервного копирования с именем AdventureWorks2012_1. Затем последовательно применяются первые три копии журнала транзакций, находящиеся на устройстве с именем AdventureWorks2012_log. В заключение происходит восстановление базы данных.

RESTORE DATABASE AdventureWorks2012 FROM AdventureWorks2012_1 WITH NORECOVERY; GO RESTORE LOG AdventureWorks2012 FROM AdventureWorks2012_log WITH FILE = 1, NORECOVERY; GO RESTORE LOG AdventureWorks2012 FROM AdventureWorks2012_log WITH FILE = 2, WITH NORECOVERY; GO RESTORE LOG AdventureWorks2012 FROM AdventureWorks2012_log WITH FILE = 3, WITH NORECOVERY; GO RESTORE DATABASE AdventureWorks2012 WITH RECOVERY; GO

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

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

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

См. также

Справочник

RESTORE (Transact-SQL)

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

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

msdn.microsoft.com

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

  • 06/13/2017
  • Время чтения: 19 мин
  • Соавторы
    • Jennifer Hubbard
    • olprod

В этой статье

В этом разделе описывается восстановление журнала транзакций из резервной копии в SQL Server 2014SQL Server 2014 с помощью среды Среда SQL Server Management StudioSQL Server Management Studio или Transact-SQLTransact-SQL.This topic describes how to restore a transaction log backup in SQL Server 2014SQL Server 2014 by using Среда SQL Server Management StudioSQL Server Management Studio or Transact-SQLTransact-SQL.

В этом разделеIn This Topic

Перед началомBefore You Begin

Предварительные требованияPrerequisites

  • Резервные копии должны восстанавливаться в том же порядке, в котором они были созданы.Backups must be restored in the order in which they were created. Перед тем как можно будет восстановить определенную резервную копию журнала транзакций, вначале должны быть восстановлены следующие более ранние резервные копии без отката незафиксированных транзакций, т.е.с параметром WITH NORECOVERY:Before you can restore a particular transaction log backup, you must first restore the following previous backups without rolling back uncommitted transactions, that is WITH NORECOVERY:

    • Полная резервная копия и последняя разностная резервная копия, если таковая имеется, созданные перед заданной резервной копией журнала транзакций.The full database backup and the last differential backup, if any, taken before the particular transaction log backup. Перед созданием самой последней полной или разностной резервной копии базы данных необходимо, чтобы в базе данных использовалась модель полного восстановления (или модель восстановления с неполным протоколированием).Before the most recent full or differential database backup was created, the database must have been using the full recovery model or bulk-logged recovery model.

    • Все резервные копии журнала транзакций, созданные после полной резервной копии базы данных или разностной резервной копии (если она восстанавливается), и перед заданной резервной копией журнала транзакций.All transaction log backups taken after the full database backup or the differential backup (if you restore one) and before the particular transaction log backup. Резервные копии журналов необходимо применять в порядке их создания, без разрывов в цепочке журналов.Log backups must be applied in the sequence in which they were created, without any gaps in the log chain.

      Дополнительные сведения о резервных копиях журналов транзакций см. в статье Резервные копии журналов транзакций (SQL Server) и Применение резервных копий журналов транзакций (SQL Server).For more information about transaction log backups, see Transaction Log Backups (SQL Server) and Apply Transaction Log Backups (SQL Server).

безопасностьSecurity

PermissionsPermissions

Разрешения на выполнение инструкции RESTORE даются ролям, в которых данные о членстве всегда доступны серверу.RESTORE permissions are given to roles in which membership information is always readily available to the server. Так как членство в предопределенной роли базы данных может быть проверено только тогда, когда база данных доступна и не повреждена, что не всегда имеет место при выполнении инструкции RESTORE, члены предопределенной роли базы данных db_owner не имеют разрешений RESTORE.Because fixed database role membership can be checked only when the database is accessible and undamaged, which is not always the case when RESTORE is executed, members of the db_owner fixed database role do not have RESTORE permissions.

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

Предупреждение

Обычно процесс восстановления заключается в выборе в диалоговом окне Восстановление базы данных резервных копий журналов, данных и разностных резервных копий.The normal process of a restore is to select the log backups in the Restore Database dialog box along with the data and differential backups.

Восстановление резервной копии журнала транзакцийTo restore a transaction log backup
  1. После соединения с соответствующим экземпляром компонента MicrosoftMicrosoft Компонент SQL Server Database EngineSQL Server Database Engineв обозревателе объектов разверните дерево сервера, щелкнув его имя.After connecting to the appropriate instance of the MicrosoftMicrosoft Компонент SQL Server Database EngineSQL Server Database Engine, in Object Explorer, click the server name to expand the server tree.

  2. Раскройте узел Базы данныхи в зависимости от типа восстанавливаемой базы данных выберите пользовательскую базу данных или раскройте узел Системные базы данных и выберите системную базу данных.Expand Databases, and, depending on the database, either select a user database or expand System Databases and select a system database.

  3. Щелкните правой кнопкой мыши базу данных, выберите пункт Задачи, затем пункт Восстановитьи пункт Журнал транзакций. В результате откроется диалоговое окно Восстановление журнала транзакций .Right-click the database, point to Tasks, point to Restore, and then click Transaction Log, which opens the Restore Transaction Log dialog box.

    Примечание

    Если Журнал транзакций неактивен, возможно, сначала потребуется восстановление из полной или разностной резервной копии.If Transaction Log is grayed out, you may need to restore a full or differential backup first. Воспользуйтесь диалоговым окном резервного копирования База данных .Use the Database backup dialog box.

  4. На странице Общие в списке База данных выберите имя базы данных.On the General page, in the Database list box, select the name of a database. Перечислены только базы данных, которые находятся в состоянии восстановления.Only databases in the restoring state are listed.

  5. Чтобы указать источник и расположение восстанавливаемых резервных наборов данных, выберите один из следующих вариантов.To specify the source and location of the backup sets to restore, click one of the following options:

    • Из предыдущих резервных копий базы данныхFrom previous backups of database

      Выберите из раскрывающегося списка базу данных для восстановления.Select the database to restore from the drop-down list. Данный список содержит только базы данных, резервное копирование которых было выполнено в соответствии с журналом резервного копирования msdb .The list contains only databases that have been backed up according to the msdb backup history.

    • Из файла или с лентыFrom file or tape

      Нажмите кнопку обзора (...), после чего откроется диалоговое окно Выбор устройств резервного копирования .Click the browse (...) button to open the Select backup devices dialog box. В окне Тип носителя резервной копии выберите один из перечисленных типов устройств.In the Backup media type box, select one of the listed device types. Чтобы выбрать одно или несколько устройств в окне Носитель резервной копии , нажмите кнопку Добавить.To select one or more devices for the Backup media box, click Add.

      После добавления нужных устройств в списке Носитель резервной копии нажмите кнопку ОК для возвращения на страницу Общие .After you add the devices you want to the Backup media list box, click OK to return to the General page.

  6. В сетке Выберите резервные копии журнала транзакций для восстановления выберите нужные резервные наборы.In the Select the transaction log backups to restore grid, select the backups to restore. В этой сетке перечислены резервные копии журналов транзакций, доступные для выбранной базы данных.This grid lists the transaction log backups available for the selected database. Резервная копия журналов доступна только в том случае, если ее первый номер LSN больше, чем последний номер LSN базы данных.A log backup is available only if its First LSN greater than the Last LSN of the database. Резервные копии журналов перечислены в порядке содержащихся в них номеров LSN и должны быть восстановлены в этом порядке.Log backups are listed in the order of the log sequence numbers (LSN) they contain, and they must be restored in this order.

    В приведенной ниже таблице перечислены заголовки столбцов сетки, а также даны описания их значений.The following table lists the column headers of the grid and describes their values.

    ЗаголовокHeader ЗначениеValue
    ВосстановитьRestore Установленные флажки показывают резервные наборы данных для восстановления.Selected check boxes indicate the backup sets to be restored.
    НазваниеName Имя резервного набора.Name of the backup set.
    КомпонентComponent Компонент, сохраненный в резервной копии: База данных, Файл или <пусто> (для журналов транзакций).Backed-up component: Database, File, or <blank> (for transaction logs).
    База данныхDatabase Имя базы данных, участвовавшей в операции резервного копирования.Name of the database involved in the backup operation.
    Дата началаStart Date Дата и время начала резервного копирования, представленные в соответствии с региональными стандартами клиента.Date and time when the backup operation began, presented in the regional setting of the client.
    Дата завершенияFinish Date Дата и время окончания резервного копирования, представленные в соответствии с региональными настройками клиента.Date and time when the backup operation finished, presented in the regional setting of the client.
    первый номер LSNFirst LSN Регистрационный номер транзакции в журнале для первой транзакции резервного набора данныхLog sequence number of the first transaction in the backup set. Пустой для резервных копий файлов.Blank for file backups.
    последний номер LSNLast LSN Регистрационный номер в журнале для первой транзакции резервного набора данныхLog sequence number of the last transaction in the backup set. Пустой для резервных копий файлов.Blank for file backups.
    Номер LSN для контрольной точкиCheckpoint LSN Регистрационный номер транзакции в журнале для последней контрольной точки на момент создания резервной копии.Log sequence number of the most recent checkpoint at the time the backup was created.
    Полный номер LSNFull LSN Регистрационный номер транзакции в журнале для последней полной резервной копии базы данных.Log sequence number of the most recent full database backup.
    ServerServer Имя экземпляра ядра СУБД, выполнившего операцию резервного копирования.Name of the Database Engine instance that performed the backup operation.
    Имя пользователяUser Name Имя пользователя, выполнившего операцию резервного копирования.Name of the user who performed the backup operation.
    РазмерSize Размер резервного набора данных в байтах.Size of the backup set in bytes.
    ПоложениеPosition Позиция резервного набора данных в томе.Position of the backup set in the volume.
    Истечение срокаExpiration Дата и время окончания срока действия для резервного набора.Date and time the backup set expires.
  7. Выберите один из следующих вариантов:Select one of the following:

    • На момент времениPoint in time

      Либо сохраните значение по умолчанию (Самый последний), либо выберите конкретную дату и время, нажав кнопку обзора и открыв диалоговое окно Восстановление на момент времени .Either retain the default (Most recent possible) or select a specific date and time by clicking the browse button, which opens the Point in Time Restore dialog box.

    • До помеченной транзакцииMarked transaction

      Восстановите базу данных до помеченной транзакции.Restore the database to a previously marked transaction. Выбор данного параметра открывает диалоговое окно Выбор помеченной транзакции , в котором отображается сетка; в ней перечислены помеченные транзакции, доступные в выбранных резервных копиях журналов транзакций.Selecting this option launches the Select Marked Transaction dialog box, which displays a grid listing the marked transactions available in the selected transaction log backups.

      По умолчанию восстановление проводится до помеченной транзакции, не включая ее.By default, the restore is up to, but excluding, the marked transaction. Чтобы восстановить и помеченную транзакцию, выберите пункт Включая помеченную транзакцию.To restore the marked transaction also, select Include marked transaction.

      В приведенной ниже таблице перечислены заголовки столбцов сетки, а также даны описания их значений.The following table lists the column headers of the grid and describes their values.

      ЗаголовокHeader ЗначениеValue
      <пусто><blank> Отображает флажок для выбора маркера.Displays a checkbox for selecting the mark.
      Отметка транзакцииTransaction Mark Имя помеченной транзакции, заданное пользователем при фиксации транзакции.Name of the marked transaction specified by the user when the transaction was committed.
      ДатаDate Дата и время фиксации транзакции.Date and time of the transaction when it was committed. Дата и время транзакции отображаются, в соответствии с данными в таблице msdbgmarkhistory , а не с датой и временем на клиентском компьютере.Transaction date and time are displayed as recorded in the msdbgmarkhistory table, not in the client computer's date and time.
      ОписаниеDescription Описание помеченной транзакции, заданное пользователем при ее фиксации (при его наличии).Description of marked transaction specified by the user when the transaction was committed (if any).
      Номер LSNLSN Регистрационный номер помеченной транзакции в журнале.Log sequence number of the marked transaction.
      База данныхDatabase Имя базы данных, в которой была зафиксирована помеченная транзакция.Name of the database where the marked transaction was committed.
      Имя пользователяUser Name Имя пользователя базы данных, зафиксировавшего помеченную транзакцию.Name of the database user who committed the marked transaction.
  8. Чтобы просмотреть или выбрать дополнительные параметры, нажмите кнопку Параметры на панели Выбор страницы .To view or select the advanced options, click Options in the Select a page pane.

  9. В разделе Восстановление параметров предусмотрены следующие варианты выбора:In the Restore options section, the choices are:

    • Сохранить параметры репликации (WITH KEEP_REPLICATION)Preserve the replication settings (WITH KEEP_REPLICATION)

      Сохраняет настройки репликации при восстановлении опубликованной базы данных на сервере, отличном от сервера, на котором была создана база данных.Preserves the replication settings when restoring a published database to a server other than the server where the database was created.

      Этот параметр доступен только с оставить базу данных готовой к использованию путем отката незафиксированных транзакций... параметр (описанным ниже), который эквивалентен восстановлению резервной копии с RECOVERY параметр.This option is available only with the Leave the database ready for use by rolling back the uncommitted transactions... option (described later), which is equivalent to restoring a backup with the RECOVERY option.

      Выбор этого параметра эквивалентен использованию KEEP_REPLICATION в диалоговом окне Transact-SQLTransact-SQL RESTORE инструкции.Checking this option is equivalent to using the KEEP_REPLICATION option in a Transact-SQLTransact-SQLRESTORE statement.

    • Выдавать приглашение перед восстановлением каждой резервной копииPrompt before restoring each backup

      Перед восстановлением каждого резервного набора данных (после первого) этот параметр вызывает диалоговое окно Продолжение восстановления , в котором выводится вопрос, нужно ли продолжать последовательность восстановления.Before restoring each backup set (after the first), this option brings up the Continue with Restore dialog box, which asks you to indicate whether you want to continue the restore sequence. В этом окне отображается имя следующего набора носителей (если он доступен), имя резервного набора данных и его описание.This dialog displays the name of the next media set (if available), the backup set name, and backup set description.

      Этот параметр особенно полезен, если необходимо поочередно менять ленты для различных наборов носителей.This option is particularly useful when you must swap tapes for different media sets. Например, можно использовать этот параметр, когда на сервере установлено только одно ленточное устройство.For example, you can use it when the server has only one tape device. Перед нажатием кнопки ОКдождитесь готовности к продолжению.Wait until you are ready to proceed before clicking OK.

      Чтобы оставить базу данных в состоянии восстановления, нажмите кнопку Нет .Clicking No leaves the database in the restoring state. Для удобства можно продолжить последовательность восстановления после завершения последнего восстановления.At your convenience, you can continue the restore sequence after the last restore that completed. Если очередная резервная копия представляет собой резервную копию данных или разностную резервную копию, следует вновь использовать задачу Восстановление базы данных .If the next backup is a data or differential backup, use the Restore Database task again. Если очередная резервная копия представляет собой резервную копию журнала, следует использовать задачу Восстановление журнала транзакций .If the next backup is a log backup, use the Restore Transaction Log task.

    • Ограничить доступ к восстановленной базе данных (WITH RESTRICTED_USER)Restrict access to the restored database (WITH RESTRICTED_USER)

      Доступ к восстановленной базе данных будет только у пользователей db_owner, dbcreatorили sysadmin.Makes the restored database available only to the members of db_owner, dbcreator, or sysadmin.

      Выбор этого параметра аналогичен использованию RESTRICTED_USER в диалоговом окне Transact-SQLTransact-SQL RESTORE инструкции.Checking this option is synonymous to using the RESTRICTED_USER option in a Transact-SQLTransact-SQLRESTORE statement.

  10. В качестве значения параметра Состояние восстановления укажите состояние базы данных после операции восстановления.For the Recovery state options, specify the state of the database after the restore operation.

    • Восстановить готовность базы данных к работе, выполнив откат незафиксированных транзакций. Невозможно восстановить дополнительные журналы транзакций. (RESTORE WITH RECOVERY)Leave the database ready for use by rolling back uncommitted transactions. Additional transaction logs cannot be restored. (RESTORE WITH RECOVERY)

      Восстанавливает базу данных.Recovers the database. Этот параметр равнозначен RECOVERY в диалоговом окне Transact-SQLTransact-SQL RESTORE инструкции.This option is equivalent to the RECOVERY option in a Transact-SQLTransact-SQLRESTORE statement.

      Этот параметр следует выбирать только в том случае, если нет файлов журнала, подлежащих восстановлению.Choose this option only if you have no log files you want to restore.

    • Оставить базу данных в нерабочем состоянии и не производить откат незафиксированных транзакций. Можно восстановить дополнительные журналы транзакций. (RESTORE WITH NORECOVERY)Leave the database non-operational, and do not roll back uncommitted transactions. Additional transaction logs can be restored. (RESTORE WITH NORECOVERY)

      Оставить базу данных в состоянии RESTORING (невосстановленном).Leaves the database unrecovered, in the RESTORING state. Этот параметр равнозначен использованию NORECOVERY в диалоговом окне Transact-SQLTransact-SQL RESTORE инструкции.This option is equivalent to using the NORECOVERY option in a Transact-SQLTransact-SQLRESTORE statement.

      При выборе данного параметра параметр Сохранить настройки репликации становится недоступным.When you choose this option, the Preserve replication settings option is unavailable.

      Важно!

      Всегда выбирайте этот параметр для зеркальной или второстепенной базы данных.For a mirror or secondary database, always select this option.

    • Оставить базу данных в режиме «только для чтения». Отменить незафиксированные транзакции, но сохранить отмененные действия в файле, чтобы результаты восстановления могли быть отменены. (RESTORE WITH STANDBY)Leave the database in read-only mode. Undo uncommitted transactions, but save the undo actions in a file so that recovery effects can be reversed. (RESTORE WITH STANDBY)

      Оставляет базу данных в резервном состоянии.Leaves the database in a standby state. Этот параметр равнозначен использованию STANDBY в диалоговом окне Transact-SQLTransact-SQL RESTORE инструкции.This option is equivalent to using the STANDBY option in a Transact-SQLTransact-SQLRESTORE statement.

      При выборе этого параметра необходимо указать резервный файл.Choosing this option requires that you specify a standby file.

  11. При необходимости укажите имя резервного файла в текстовом поле Резервный файл .Optionally, specify a standby file name in the Standby file text box. Этот параметр необходим, чтобы оставить базу данных в режиме только для чтения.This option is required if you leave the database in read-only mode. Резервный файл можно выбрать в проводнике или ввести полный путь к нему в текстовом поле.You can browse for the standby file or type its pathname in the text box.

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

Важно!

Во избежание неоднозначности в каждой инструкции WITH RECOVERY рекомендуется явное задание параметра WITH NORECOVERY или WITH RECOVERY.We recommend that you always explicitly specify either WITH NORECOVERY or WITH RECOVERY in every RESTORE statement to eliminate ambiguity. Это особенно важно учитывать при написании скриптов.This is particularly important when writing scripts.

Восстановление резервной копии журнала транзакцийTo restore a transaction log backup
  1. Чтобы применить резервную копию журналов транзакций, выполните инструкцию RESTORE LOG, указав при этом:Execute the RESTORE LOG statement to apply the transaction log backup, specifying:

    • Имя базы данных, к которой будет применен журнал транзакций.The name of the database to which the transaction log will be applied.

    • устройство резервного копирования, с которого будет восстановлена резервная копия журналов транзакций;The backup device where the transaction log backup will be restored from.

    • Предложение NORECOVERY.The NORECOVERY clause.

      В этой инструкции применяется следующая основная синтаксическая конструкция:The basic syntax for this statement is as follows:

      RESTORE LOG имя_базы_данных FROM <устройство_резервного_копирования> WITH NORECOVERY.RESTORE LOG database_name FROM <backup_device> WITH NORECOVERY.

      Здесь имя_базы_данных — имя базы данных, а <устройство_резервного_копирования> — имя устройства, содержащего восстанавливаемую резервную копию журнала.Where database_name is the name of database and <backup_device>is the name of the device that contains the log backup being restored.

  2. Повторите шаг 1 для каждой резервной копии журналов транзакций, которые необходимо применить.Repeat step 1 for each transaction log backup you have to apply.

  3. После восстановления последней резервной копии из последовательности восстановления базу данных следует восстановить при помощи одной из следующих инструкций.After restoring the last backup in your restore sequence, to recover the database use one of the following statements:

    • Восстановить базу данных в составе последней инструкции RESTORE LOG:Recover the database as part of the last RESTORE LOG statement:

      RESTORE LOG <database_name> FROM <backup_device> WITH RECOVERY; GO
    • Подождать, а затем восстановить базу данных отдельной инструкцией RESTORE DATABASE:Wait to recover the database by using a separate RESTORE DATABASE statement:

      RESTORE LOG <database_name> FROM <backup_device> WITH NORECOVERY; RESTORE DATABASE <database_name> WITH RECOVERY; GO

      В последнем случае можно проверить, восстановлены ли все нужные резервные копии журналов.Waiting to recover the database gives you the opportunity to verify that you have restored all of the necessary log backups. Такой подход часто полезен при выполнении восстановления на момент времени.This approach is often advisable when you are performing a point-in-time restore.

    Важно!

    При создании зеркальной базы данных этап восстановления можно пропустить.If you are creating a mirror database, omit the recovery step. Зеркальная база данных должна остаться в состоянии RESTORING.A mirror database must remain in the RESTORING state.

Примеры (Transact-SQL)Examples (Transact-SQL)

По умолчанию для базы данных AdventureWorks2012AdventureWorks2012 используется простая модель восстановления.By default, the AdventureWorks2012AdventureWorks2012 database uses the simple recovery model. В следующем примере для перехода на модель полного восстановления требуется изменить базу данных следующим образом:The following examples require modifying the database to use the full recovery model, as follows:

ALTER DATABASE AdventureWorks2012 SET RECOVERY FULL;
A.A. Применение одной резервной копии журнала транзакцийApplying a single transaction log backup

В следующем примере база данных AdventureWorks2012AdventureWorks2012 восстанавливается с помощью полной резервной копии базы данных, которая находится на устройстве резервного копирования с именем AdventureWorks2012_1.The following example starts by restoring the AdventureWorks2012AdventureWorks2012 database by using a full database backup that resides on a backup device named AdventureWorks2012_1. Затем применяется первая резервная копия журнала транзакций, находящаяся на устройстве с именем AdventureWorks2012_log.The example then applies the first transaction log backup that resides on a backup device named AdventureWorks2012_log. В заключение происходит восстановление базы данных.Finally, the example recovers the database.

RESTORE DATABASE AdventureWorks2012 FROM AdventureWorks2012_1 WITH NORECOVERY; GO RESTORE LOG AdventureWorks2012 FROM AdventureWorks2012_log WITH FILE = 1, WITH NORECOVERY; GO RESTORE DATABASE AdventureWorks2012 WITH RECOVERY; GO
Б.B. Применение нескольких резервных копий журналов транзакцийApplying multiple transaction log backups

В следующем примере база данных AdventureWorks2012AdventureWorks2012 восстанавливается с помощью полной резервной копии базы данных, которая находится на устройстве резервного копирования с именем AdventureWorks2012_1.The following example starts by restoring the AdventureWorks2012AdventureWorks2012 database by using a full database backup that resides on a backup device named AdventureWorks2012_1. Затем последовательно применяются первые три копии журнала транзакций, находящиеся на устройстве с именем AdventureWorks2012_log.The example then applies, one by one, the first three transaction log backups that reside on a backup device named AdventureWorks2012_log. В заключение происходит восстановление базы данных.Finally, the example recovers the database.

RESTORE DATABASE AdventureWorks2012 FROM AdventureWorks2012_1 WITH NORECOVERY; GO RESTORE LOG AdventureWorks2012 FROM AdventureWorks2012_log WITH FILE = 1, NORECOVERY; GO RESTORE LOG AdventureWorks2012 FROM AdventureWorks2012_log WITH FILE = 2, WITH NORECOVERY; GO RESTORE LOG AdventureWorks2012 FROM AdventureWorks2012_log WITH FILE = 3, WITH NORECOVERY; GO RESTORE DATABASE AdventureWorks2012 WITH RECOVERY; GO

См. такжеSee Also

RESTORE (Transact-SQL) RESTORE (Transact-SQL) Применение резервных копий журналов транзакций (SQL Server)Apply Transaction Log Backups (SQL Server)

msdn.microsoft.com

Журнал транзакций (SQL Server) | Microsoft Docs

  • 01/04/2017
  • Время чтения: 15 мин
  • Соавторы
    • mashathomas
    • olprod

В этой статье

Каждая база данных SQL ServerSQL Server имеет журнал транзакций, в котором фиксируются все транзакции и производимые ими в базе изменения.Every SQL ServerSQL Server database has a transaction log that records all transactions and the database modifications made by each transaction. Журнал транзакций необходимо регулярно усекать, чтобы избежать его переполнения.The transaction log must be truncated on a regular basis to keep it from filling up. Но при этом по ряду причин его усечение может быть отложено, поэтому очень важно следить за размером журнала.However, some factors can delay log truncation, so monitoring log size is important. Некоторые операции можно выполнять с минимальным протоколированием, чтобы сократить их вклад в размер журнала транзакций.Some operations can be minimally logged to reduce their impact on transaction log size.

Журнал транзакций является критическим компонентом базы данных и в случае системного сбоя может потребоваться для приведения базы данных в согласованное состояние.The transaction log is a critical component of the database and, if there is a system failure, the transaction log might be required to bring your database back to a consistent state. Журнал транзакций нельзя ни удалять, ни изменять, если только не известны возможные последствия.The transaction log should never be deleted or moved unless you fully understand the ramifications of doing this.

Примечание

Известные рабочие точки, от которых следует начинать применение журналов транзакций при восстановлении базы данных, создаются контрольными точками.Known good points from which to begin applying transaction logs during database recovery are created by checkpoints. Дополнительные сведения см. в разделе Контрольные точки базы данных (SQL Server).For more information, see Database Checkpoints (SQL Server).

В этом разделе.In this Topic:

Преимущества: Операции, поддерживаемые журналом транзакцийBenefits: Operations Supported by the Transaction Log

Журнал транзакций поддерживает следующие операции:The transaction log supports the following operations:

  • восстановление отдельных транзакций;Recovery of individual transactions.

  • восстановление всех незавершенных транзакций при запуске SQL ServerSQL Server ;Recovery of all incomplete transactions when SQL ServerSQL Server is started.

  • накат восстановленной базы данных, файла, файловой группы или страницы до момента сбоя;Rolling a restored database, file, filegroup, or page forward to the point of failure.

  • поддержка репликации транзакций;Supporting transactional replication.

  • Поддержка решений высокой уровня доступности и аварийного восстановления: Группы доступности AlwaysOnAlways On Availability Groups, зеркальное отображение базы данных и доставка журналов.Supporting high availability and disaster recovery solutions: Группы доступности AlwaysOnAlways On Availability Groups, database mirroring, and log shipping.

Усечение журнала транзакцийTransaction Log Truncation

Процесс усечения журнала освобождает место в файле журнала для повторного использования журналом транзакций.Log truncation frees space in the log file for reuse by the transaction log. Усечение журнала необходимо для предотвращения переполнения журнала.Log truncation is essential to keep the log from filling. При усечении журнала удаляются неактивные виртуальные файлы журнала из логического журнала транзакций базы данных SQL ServerSQL Server , что приводит к освобождению пространства в логическом журнале для повторного использования физическим журналом транзакций.Log truncation deletes inactive virtual log files from the logical transaction log of a SQL ServerSQL Server database, freeing space in the logical log for reuse by the Physical transaction log. Если усечение журнала транзакций не выполняется, со временем он заполняет все доступное место на диске, отведенное для файлов физического журнала.If a transaction log were never truncated, it would eventually fill all the disk space that is allocated to its physical log files.

В целях предотвращения этой проблемы усечение журнала выполняется автоматически после следующих событий, за исключением тех случаев, когда оно по каким-то причинам задерживается.To avoid this problem, unless log truncation is being delayed for some reason, truncation occurs automatically after the following events:

  • В простой модели восстановления — после достижения контрольной точки.Under the simple recovery model, after a checkpoint.

  • Для моделей полного восстановления и моделей восстановления с неполным протоколированием, если контрольная точка была создана после предыдущего резервного копирования, усечение происходит после резервного копирования журнала (если только это не резервная копия журнала только для копирования).Under the full recovery model or bulk-logged recovery model, if a checkpoint has occurred since the previous backup, truncation occurs after a log backup (unless it is a copy-only log backup).

    Дополнительные сведения см. в подразделе Факторы, которые могут вызвать задержку усечения журналаниже в этом разделе.For more information, see Factors That Can Delay Log Truncation, later in this topic.

Примечание

Усечение журнала не приводит к уменьшению размера физического файла журнала.Log truncation does not reduce the size of the physical log file. Для уменьшения реального размера физического файла журнала необходимо выполнить его сжатие.To reduce the physical size of a physical log file, you need to shrink the log file. Сведения о сжатии физического файла журнала см. в разделе Управление размером файла журнала транзакций.For information about shrinking the size of the physical log file, see Manage the Size of the Transaction Log File.

Факторы, которые могут задержать усечение журналаFactors That Can Delay Log Truncation

Когда записи журнала остаются активными длительное время, усечение журнала транзакций откладывается и возникает вероятность переполнения журнала транзакций.When log records remain active for a long time transaction log truncation is delayed, and potentially the transaction log can fill up.

Усечение журнала может быть задержано из-за множества факторов.Log truncation can be delayed by a variety of factors. Чтобы определить причину, препятствующую усечению журнала транзакций в конкретном случае, выполните запрос по столбцам log_reuse_wait и log_reuse_wait_desc представления каталога sys.database .You can discover what, if anything, is preventing log truncation by querying the log_reuse_wait and log_reuse_wait_desc columns of the sys.databases catalog view. В следующей таблице описаны значения этих столбцов.The following table describes the values of these columns.

Значение столбца log_reuse_waitlog_reuse_wait value Значение столбца log_reuse_wait_desclog_reuse_wait_desc value ОписаниеDescription
00 NOTHING;NOTHING В данный момент существует один или более виртуальных файлов журнала, доступных для повторного использования.Currently there are one or more reusable virtual log files.
11 CHECKPOINTCHECKPOINT С момента последнего усечения журнала не было новых контрольных точек, либо заголовок журнала не перемещался за пределы виртуального файла журнала.No checkpoint has occurred since the last log truncation, or the head of the log has not yet moved beyond a virtual log file. (Все модели восстановления)(All recovery models)

Это широко распространенная причина задержки усечения журнала.This is a routine reason for delaying log truncation. Дополнительные сведения см. в разделе Контрольные точки базы данных (SQL Server).For more information, see Database Checkpoints (SQL Server).

22 LOG_BACKUPLOG_BACKUP Требуется выполнить резервное копирование журналов, поскольку лишь после этого журнал транзакций может быть усечен.A log backup is required before the transaction log can be truncated. (Только для моделей полного восстановления и моделей восстановления с неполным протоколированием)(Full or bulk-logged recovery models only)

После завершения создания следующей резервной копии журнала некоторое пространство журнала может освободиться для повторного использования.When the next log backup is completed, some log space might become reusable.

33 ACTIVE_BACKUP_OR_RESTOREACTIVE_BACKUP_OR_RESTORE Выполняется резервное копирование или восстановление данных (для всех моделей восстановления).A data backup or a restore is in progress (all recovery models).

Если усечению журнала препятствует резервное копирование данных, то проблему может решить отмена операции резервного копирования.If a data backup is preventing log truncation, canceling the backup operation might help the immediate problem.

44 ACTIVE_TRANSACTIONACTIVE_TRANSACTION Активна одна из транзакций (для всех моделей восстановления).A transaction is active (all recovery models).

Во время начала создания резервной копии журнала может существовать длительная транзакция.A long-running transaction might exist at the start of the log backup. В этом случае, чтобы освободить пространство, может потребоваться создание другой резервной копии журнала.In this case, freeing the space might require another log backup. Обратите внимание на то, что длительные транзакции предотвратить усечение журнала во всех моделях восстановления, включая простой модели восстановления, в которой журнал транзакций обычно усекается на каждой автоматической контрольной точке.Note that a long-running transactions prevent log truncation under all recovery models, including the simple recovery model, under which the transaction log is generally truncated on each automatic checkpoint.

Транзакция отложена.A transaction is deferred. Отложенная транзакция — это активная транзакция, откат которой был заблокирован по причине недоступности какого-либо ресурса.A deferred transaction is effectively an active transaction whose rollback is blocked because of some unavailable resource. Дополнительные сведения о причинах, вызывающих появление отложенных транзакций, и о том, как их можно вывести из такого состояния, см. в статье Отложенные транзакции (SQL Server).For information about the causes of deferred transactions and how to move them out of the deferred state, see Deferred Transactions (SQL Server).

Длительные транзакции также могут переполнить журнал транзакций базы данных tempdb.Long-running transactions might also fill up tempdb's transaction log. Пользовательские транзакции неявно используют базу данных tempdb для внутренних объектов, например для сортировки рабочих таблиц, хэширования рабочих файлов, перемещения рабочих таблиц и управления версиями строк.Tempdb is used implicitly by user transactions for internal objects such as work tables for sorting, work files for hashing, cursor work tables, and row versioning. Даже если пользовательская транзакция включает в себя только считывает данные (запросы SELECT), внутренние объекты могут быть созданы и использованы в пользовательских транзакциях.Even if the user transaction includes only reading data (SELECT queries), internal objects may be created and used under user transactions. В результате журнал транзакций базы данных tempdb может быть заполнен.Then the tempdb transaction log can be filled.

55 DATABASE_MIRRORINGDATABASE_MIRRORING Зеркальное отображение базы данных приостановлено или в режиме высокой производительности зеркальная база данных намного отстает от основной.Database mirroring is paused, or under high-performance mode, the mirror database is significantly behind the principal database. (Только для модели полного восстановления)(Full recovery model only)

Дополнительные сведения см. в статье Зеркальное отображение базы данных (SQL Server).For more information, see Database Mirroring (SQL Server).

66 REPLICATIONREPLICATION Во время репликации транзакций в базу данных распространителя не доставляются транзакции, имеющие отношение к публикациям.During transactional replications, transactions relevant to the publications are still undelivered to the distribution database. (Только для модели полного восстановления)(Full recovery model only)

Дополнительные сведения о репликации транзакций см. в разделе SQL Server Replication.For information about transactional replication, see SQL Server Replication.

77 DATABASE_SNAPSHOT_CREATIONDATABASE_SNAPSHOT_CREATION Создается моментальный снимок базы данных.A database snapshot is being created. (Все модели восстановления)(All recovery models)

Это очень распространенная (и обычно кратковременная) причина задержки усечения журнала транзакций.This is a routine, and typically brief, cause of delayed log truncation.

88 LOG_SCANLOG_SCAN Производится просмотр журнала.A log scan is occurring. (Все модели восстановления)(All recovery models)

Это очень распространенная (и обычно кратковременная) причина задержки усечения журнала транзакций.This is a routine, and typically brief, cause of delayed log truncation.

99 AVAILABILITY_REPLICAAVAILABILITY_REPLICA Вторичная реплика группы доступности применяет записи журнала транзакций этой базы данных к соответствующей базе данных-получателю.A secondary replica of an availability group is applying transaction log records of this database to a corresponding secondary database. (Модель полного восстановления)(Full recovery model)

Дополнительные сведения см. в разделе Обзор групп доступности AlwaysOn (SQL Server).For more information, see Overview of AlwaysOn Availability Groups (SQL Server).

1010 —— Только для внутреннего примененияFor internal use only
1111 —— Только для внутреннего примененияFor internal use only
1212 —— Только для внутреннего примененияFor internal use only
1313 OLDEST_PAGEOLDEST_PAGE Если база данных настроена для использования косвенных контрольных точек, самая старая страница в базе данных может быть старше контрольной точки с номером LSN.If a database is configured to use indirect checkpoints, the oldest page on the database might be older than the checkpoint LSN. В этом случае самая старая страница может задержать усечение журнала.In this case, the oldest page can delay log truncation. (Все модели восстановления)(All recovery models)

Сведения о косвенных контрольных точках см. в статье Database Checkpoints (SQL Server).For information about indirect checkpoints, see Database Checkpoints (SQL Server).

1414 OTHER_TRANSIENTOTHER_TRANSIENT Эта значение сейчас не используется.This value is currently not used.
1616 XTP_CHECKPOINTXTP_CHECKPOINT Если база данных содержит оптимизированную для памяти файловую группу, журнал транзакций может не усекаться до автоматического В-Memory OLTPIn-Memory OLTP контрольная точка срабатывает (что происходит на каждые 512 МБ рост журнала).When a database has a memory-optimized filegroup, the transaction log may not truncate until automatic В-Memory OLTPIn-Memory OLTP checkpoint is triggered (which happens at every 512 MB of log growth).

Примечание: Для усечения журнала транзакций до 512 МБ размер, запускать команду Checkpoint вручную в базе данных в вопросе.Note: To truncate transaction log before 512 MB size, fire the Checkpoint command manually against the database in question.

Операции, которые можно применять минимальное протоколированиеOperations That Can Be Minimally Logged

Минимальное протоколирование — это протоколирование только информации, необходимой для восстановления транзакции без поддержки восстановления на момент времени.Minimal logging involves logging only the information that is required to recover the transaction without supporting point-in-time recovery. В этом разделе определяются операции, которые подлежат минимальному протоколированию в модели восстановления с неполным протоколированием (как и в простой модели восстановления, кроме случаев, когда выполняется резервное копирование).This topic identifies the operations that are minimally logged under the bulk-logged recovery model (as well as under the simple recovery model, except when a backup is running).

Примечание

Минимальное протоколирование не поддерживается для оптимизированных для памяти таблиц.Minimal logging is not supported for memory-optimized tables.

Примечание

В модели полного восстановления все массовые операции полностью протоколируются.Under the full recovery model, all bulk operations are fully logged. Однако для набора массовых операций можно использовать минимальное протоколирование, временно переключив базу данных на модель восстановления с неполным протоколированием во время массовых операций.However, you can minimize logging for a set of bulk operations by switching the database to the bulk-logged recovery model temporarily for bulk operations. Минимальное протоколирование более эффективно, чем полное, и снижает вероятность того, что во время массовой операции большого объема будет заполнено все доступное пространство журнала транзакций.Minimal logging is more efficient than full logging, and it reduces the possibility of a large-scale bulk operation filling the available transaction log space during a bulk transaction. Однако, если при включенном минимальном протоколировании база данных будет повреждена или потеряна, ее нельзя будет восстановить до точки сбоя.However, if the database is damaged or lost when minimal logging is in effect, you cannot recover the database to the point of failure.

Следующие операции, выполняемые с полным протоколированием в модели полного восстановления, осуществляются с минимальным протоколированием в простой модели восстановления и модели восстановления с неполным протоколированием:The following operations, which are fully logged under the full recovery model, are minimally logged under the simple and bulk-logged recovery model:

  • Операции массового импорта (bcp, BULK INSERT и INSERT... SELECT).Bulk import operations (bcp, BULK INSERT, and INSERT... SELECT). Дополнительные сведения о том, когда массовый импорт в таблицу подлежит минимальному протоколированию, см. в разделе Prerequisites for Minimal Logging in Bulk Import.For more information about when bulk import into a table is minimally logged, see Prerequisites for Minimal Logging in Bulk Import.

    Примечание

    Если включена репликация транзакций, операции BULK INSERT полностью протоколируются даже в модели с неполным протоколированием.When transactional replication is enabled, BULK INSERT operations are fully logged even under the Bulk Logged recovery model.

  • Операции SELECT INTO .SELECT INTO operations.

    Примечание

    Если включена репликация транзакций, операции SELECT INTO полностью протоколируются даже в модели восстановления с неполным протоколированием.When transactional replication is enabled, SELECT INTO operations are fully logged even under the Bulk Logged recovery model.

  • Частичные обновления типов данных с большими значениями с помощью предложений .WRITE инструкции UPDATE при вставке или добавлении новых данных.Partial updates to large value data types, using the .WRITE clause in the UPDATE statement when inserting or appending new data. Обратите внимание, что минимальное протоколирование не используется при обновлении существующих значений.Note that minimal logging is not used when existing values are updated. Дополнительные сведения о больших типах-значениях см. в статье Типы данных (Transact-SQL).For more information about large value data types, see Data Types (Transact-SQL).

  • WRITETEXT и UPDATETEXT при вставке или добавлении новых данных в text, ntext, и image столбцы с типом данных.WRITETEXT and UPDATETEXT statements when inserting or appending new data into the text, ntext, and image data type columns. Обратите внимание, что минимальное протоколирование не используется при обновлении существующих значений.Note that minimal logging is not used when existing values are updated.

    Примечание

    Инструкции WRITETEXT и UPDATETEXT являются устаревшими, поэтому следует избегать их использования в новых приложениях.The WRITETEXT and UPDATETEXT statements are deprecated, so you should avoid using them in new applications.

  • Если в базе данных используется простая модель восстановления или модель восстановления с неполным протоколированием, некоторые DDL-операции с индексом протоколируются в минимальном объеме при их выполнении как режиме «вне сети», так и в режиме «в сети».If the database is set to the simple or bulk-logged recovery model, some index DDL operations are minimally logged whether the operation is executed offline or online. Минимально протоколируются следующие операции с индексами.The minimally logged index operations are as follows:

    • ОперацииCREATE INDEX (включая индексированные представления).CREATE INDEX operations (including indexed views).

    • ОперацииALTER INDEX REBUILD или DBCC DBREINDEX.ALTER INDEX REBUILD or DBCC DBREINDEX operations.

      Примечание

      Инструкция DBCC DBREINDEX является устаревшей, поэтому следует избегать ее использования в новых приложениях.The DBCC DBREINDEX statement is deprecated so you should avoid using it in new applications.

    • Перестроение новой кучи DROP INDEX (если применимо).DROP INDEX new heap rebuild (if applicable).

      Примечание

      Освобождение страниц во время индекса DROP INDEX операции всегда полностью протоколируются.Index page deallocation during a DROP INDEX operation is always fully logged.

Managing the transaction log

См. такжеSee Also

Управление устойчивостью транзакций Control Transaction Durability Предварительные условия для минимального протоколирования массового импорта данных Prerequisites for Minimal Logging in Bulk Import Резервное копирование и восстановление баз данных SQL Server Back Up and Restore of SQL Server Databases Контрольные точки базы данных (SQL Server) Database Checkpoints (SQL Server) Просмотр или изменение свойств базы данных View or Change the Properties of a Database Модели восстановления (SQL Server)Recovery Models (SQL Server)

msdn.microsoft.com

Задача «Очистка журнала» (план обслуживания)

  • 06/25/2013
  • Время чтения: 2 мин

В этой статье

Используйте диалоговое окно Задача «Очистка журнала», чтобы исключить устаревшие данные предыстории из таблиц в базе данных msdb. Эта задача поддерживает удаление и восстановление журнала резервного копирования, журнала заданий агента SQL Server, а также журнала плана обслуживания. Удаление журнала заданий агента SQL Server недоступно на серверах Microsoft SQL Server 2000.

Эта инструкция применяет инструкции sp_purge_jobhistory и sp_delete_backuphistory.

  • СоединениеВыберите соединение с сервером, которое будет использоваться для выполнения этой задачи.

  • СоздатьСоздайте новое соединение с сервером, чтобы использовать при выполнении этой задачи. Диалоговое окно Создать соединение описано ниже в этом разделе.

  • Журнал резервного копирования и восстановленияХранение записей о том, когда были созданы последние резервные копии, может помочь SQL Server в создании плана восстановления, когда потребуется восстановить базу данных. Срок хранения должен быть не меньше периода создания полных резервных копий базы данных.

  • Журнал заданий агента SQL ServerЭтот журнал может помочь в устранении ошибок, произошедших при выполнении заданий, или определить, почему были выполнены операции с базой данных.

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

  • Удалить из журнала записи старше, чемУкажите возраст элементов, которые нужно удалить.

  • Просмотреть код T-SQLПросмотр инструкций Transact-SQL, выполненных на сервере для этой задачи, на основе выбранных параметров.

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

    Если количество затронутых объектов велико, построение этого отображения может занять значительное время.

Диалоговое окно «Создание соединения»

  • Имя соединенияВведите имя нового соединения.

  • Выберите или введите имя сервераВыберите сервер для подключения при выполнении этой задачи.

  • ОбновитьОбновите список доступных серверов.

  • Введите данные для входа на серверУкажите способ контроля доступа на сервере.

  • Использовать встроенную безопасность WindowsПодключитесь к экземпляру компонента SQL Server Компонент Database Engine с помощью проверки подлинности Microsoft Windows.

  • Использовать указанные имя пользователя и парольПодключитесь к экземпляру компонента SQL Server Компонент Database Engine с помощью проверки подлинности SQL Server. Этот параметр недоступен.

  • Имя пользователяУкажите учетное имя SQL Server для использования при проверке подлинности. Этот параметр недоступен.

  • ПарольУкажите используемый при проверке подлинности пароль. Этот параметр недоступен.

См. также

Справочник

sp_purge_jobhistory (Transact-SQL)

sp_delete_backuphistory (Transact-SQL)

msdn.microsoft.com

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

  • 06/13/2017
  • Время чтения: 4 мин
  • Соавторы
    • MikeRayMSFT
    • olprod

В этой статье

Этот раздел относится только к тем базам данных SQL ServerSQL Server, которые используют модель полного восстановления или модель восстановления с неполным протоколированием.This topic is relevant only for SQL ServerSQL Server databases that are using the full or bulk-logged recovery models. В этом разделе рассматривается создание резервной копии журнала транзакций базы данных SQL ServerSQL Server .This topic discusses backing up the transaction log of a SQL ServerSQL Server database.

Перед созданием любой резервной копии журнала необходимо создать как минимум одну полную резервную копию.Minimally, you must have created at least one full backup before you can create any log backups. После этого резервное копирование журнала транзакций может выполняться в любое время, кроме времени другого резервного копирования журнала.After that, the transaction log can be backed up at any time unless the log is already being backed up. Рекомендуется периодически производить резервное копирование журнала для снижения вероятности потери результатов работы и для усечения журнала.We recommend that you take log backups frequently, both to minimize work loss exposure and to truncate the transaction log. Обычно администратор базы данных время от времени создает полную резервную копию базы данных (например, еженедельно) и дополнительно создает разностные резервные копии через более короткие интервалы, например ежедневно.Typically, a database administrator creates a full database backup occasionally, such as weekly, and, optionally, creates a series of differential database backup at a shorter interval, such as daily. Независимо от резервного копирования базы данных администратор создает резервные копии журнала транзакций через еще более короткие интервалы, например каждые 10 минут.Independently of the database backups, the database administrator backs up the transaction log at frequent intervals, such as every 10 minutes. При таком подходе к резервному копированию оптимальный интервал между моментами выполнения резервного копирования зависит от множества факторов: важности данных, размера базы данных и рабочей нагрузки сервера.For a given type of backup, the optimal interval depends on factors such as the importance of the data, the size of the database, and the workload of the server.

В этом разделе.In this Topic:

Работа последовательности резервных копий журналаHow a Sequence of Log Backups Works

Последовательность резервных копий цепочки журналов транзакций не зависит от резервных копий данных.The sequence of transaction log backups log chain is independent of data backups. Например, предположим, что имеется следующая последовательность событий:For example, assume the following sequence of events.

TimeTime СобытиеEvent
8:008:00 A.M. Резервное копирование базы данных.Back up database.
ПолденьNoon Резервное копирование журнала транзакций.Back up transaction log.
16:004:00 P.M. Резервное копирование журнала транзакций.Back up transaction log.
18:006:00 P.M. Резервное копирование базы данных.Back up database.
20:008:00 P.M. Резервное копирование журнала транзакций.Back up transaction log.

Резервная копия журнала транзакций создана в 20:00,The transaction log backup created at 8:00 P.M. содержит записи журнала транзакций начиная с 16:00contains transaction log records from 4:00 P.M. до 20:00, включая время создания полной резервной копии базы данных в 18:00.through 8:00 P.M., spanning the time when the full database backup was created at 6:00 P.M. Последовательность резервных копий журнала транзакций непрерывна, начиная с первого полного резервного копирования базы данных в 8:00The sequence of transaction log backups is continuous from the initial full database backup created at 8:00 A.M. и до последнего резервного копирования журнала в 20:00.to the last transaction log backup created at 8:00 P.M. Сведения о применении этих резервных копий журналов приводятся в примере в статье Применение резервных копий журналов транзакций (SQL Server).For information about how to apply these log backups, see the example in Apply Transaction Log Backups (SQL Server).

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

  • Если журнал транзакций поврежден, будут потеряны все результаты работы, начиная с момента самого последнего действительного резервного копирования.If a transaction log is damaged, work that is performed since the most recent valid backup is lost. Поэтому настоятельно рекомендуется помещать файлы журнала в отказоустойчивое хранилище.Therefore we strongly recommend that you put your log files on fault-tolerant storage.

  • Если база данных повреждена или требуется восстановить базу данных, рекомендуется создать резервную копию заключительного фрагмента журнала , чтобы можно было восстановить базу данных до текущего момента.If a database is damaged or you are about to restore the database, we recommend that you create a tail-log backup to enable you to restore the database to the current point in time.

  • По умолчанию каждая успешная операция резервного копирования добавляет запись в журнал ошибок служб SQL ServerSQL Server и в журнал системных событий.By default, every successful backup operation adds an entry in the SQL ServerSQL Server error log and in the system event log. Если создание резервной копии журналов производится очень часто, это приводит к быстрому накоплению сообщений об успешном завершении. Это приводит к увеличению журналов ошибок, затрудняя поиск других сообщений.If back up the log very frequently, these success messages accumulate quickly, resulting in huge error logs that can make finding other messages difficult. Если работа существующих скриптов не зависит от этих записей, то их можно отключить с помощью флага трассировки 3226.In such cases you can suppress these log entries by using trace flag 3226 if none of your scripts depend on those entries. Дополнительные сведения см. в разделе Флаги трассировки (Transact-SQL).For more information, see Trace Flags (Transact-SQL).

Создание резервной копии журнала транзакцийTo create a transaction log backup

См. такжеRelated Content

Нет.None.

См. такжеSee Also

Журнал транзакций (SQL Server) The Transaction Log (SQL Server) Резервное копирование и восстановление баз данных SQL Server Back Up and Restore of SQL Server Databases Резервные копии заключительного фрагмента журнала (SQL Server) Tail-Log Backups (SQL Server) Применение резервных копий журналов транзакций (SQL Server)Apply Transaction Log Backups (SQL Server)

msdn.microsoft.com

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

  • 06/25/2013
  • Время чтения: 9 мин

В этой статье

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

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

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

    Предварительные требования

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

  • Для восстановления резервной копии журнала транзакций используется:

    Среда SQL Server Management Studio

    Transact-SQL

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

Перед началом работы

Предварительные требования

  • Резервные копии должны восстанавливаться в том же порядке, в котором они были созданы. Перед тем как можно будет восстановить определенную резервную копию журнала транзакций, вначале должны быть восстановлены следующие более ранние резервные копии без отката незафиксированных транзакций, т.е.с параметром WITH NORECOVERY:

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

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

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

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

Разрешения

Разрешения на выполнение инструкции RESTORE даются ролям, в которых данные о членстве всегда доступны серверу. Так как членство в предопределенной роли базы данных может быть проверено только тогда, когда база данных доступна и не повреждена, что не всегда имеет место при выполнении инструкции RESTORE, члены предопределенной роли базы данных db_owner не имеют разрешений RESTORE.

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

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

ПредупреждениеВнимание!

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

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

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

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

  3. Щелкните правой кнопкой мыши базу данных, выберите пункт Задачи, затем пункт Восстановить и пункт Журнал транзакций. В результате откроется диалоговое окно Восстановление журнала транзакций.

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

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

  4. На странице Общие в списке База данных выберите имя базы данных. Перечислены только базы данных, которые находятся в состоянии восстановления.

  5. Чтобы указать источник и расположение восстанавливаемых резервных наборов данных, выберите один из следующих вариантов.

    • Из предыдущих резервных копий базы данных

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

    • Из файла или с ленты

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

      После добавления устройств в список окна Носитель резервной копии нажмите кнопку ОК для возвращения на страницу Общие.

  6. В сетке Выберите резервные копии журнала транзакций для восстановления выберите нужные резервные наборы. В этой сетке перечислены резервные копии журналов транзакций, доступные для выбранной базы данных. Резервная копия журналов доступна только в том случае, если ее первый номер LSN больше, чем последний номер LSN базы данных. Резервные копии журналов перечислены в порядке содержащихся в них номеров LSN и должны быть восстановлены в этом порядке.

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

    Заголовок

    Значение

    Восстановить

    Установленные флажки показывают резервные наборы данных для восстановления.

    Название

    Имя резервного набора данных.

    Компонент

    Компонент, для которого выполнено резервное копирование: База данных, Файл или <пусто> (для журналов транзакций).

    База данных

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

    Дата начала

    Дата и время начала резервного копирования, представленные в соответствии с региональными стандартами клиента.

    Дата завершения

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

    Первый номер LSN

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

    Последний номер LSN

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

    Номер LSN для контрольной точки

    Регистрационный номер транзакции в журнале для последней контрольной точки на время создания резервной копии.

    Полный номер LSN

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

    Сервер

    Имя экземпляра ядра СУБД, выполнившего операцию резервного копирования.

    Имя пользователя

    Имя пользователя, выполнившего операцию резервного копирования.

    Размер

    Размер резервного набора данных в байтах.

    Позиция

    Позиция резервного набора данных в томе.

    Истечение срока действия

    Дата и время окончания срока действия резервного набора данных.

  7. Выполните одно из следующих действий:

    • На момент времени

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

    • До помеченной транзакции

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

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

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

      Заголовок

      Значение

      <пусто>

      Отображает флажок для выбора маркера.

      Отметка транзакции

      Имя помеченной транзакции, заданное пользователем при фиксации транзакции.

      Дата

      Дата и время фиксации транзакции. Дата и время транзакции отображаются, в соответствии с данными в таблице msdb gmarkhistory, а не с датой и временем на клиентском компьютере.

      Описание

      Описание помеченной транзакции, заданное пользователем при ее фиксации (при его наличии).

      Номер LSN

      Регистрационный номер помеченной транзакции в журнале.

      База данных

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

      Имя пользователя

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

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

  9. В разделе Восстановление параметров предусмотрены следующие варианты выбора:

    • Сохранить параметры репликации (WITH KEEP_REPLICATION)

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

      Этот параметр доступен только вместе с параметром Оставить базу данных готовой к использованию путем отката незафиксированных транзакций... (описанным ниже), который эквивалентен восстановлению резервной копии с параметром RECOVERY.

      Выбор этого параметра равнозначен использованию параметра KEEP_REPLICATION в инструкции Transact-SQL RESTORE.

    • Выдавать приглашение перед восстановлением каждой резервной копии

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

      Этот параметр особенно полезен, если необходимо поочередно менять ленты для различных наборов носителей. Например, можно использовать этот параметр, когда на сервере установлено только одно ленточное устройство. Перед нажатием кнопки ОК дождитесь готовности к продолжению.

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

    • Ограничить доступ к восстановленной базе данных (WITH RESTRICTED_USER)

      Доступ к восстановленной базе данных будут иметь только члены ролей db_owner, dbcreator или sysadmin.

      Выбор этого параметра аналогичен использованию параметра RESTRICTED_USER в инструкции Transact-SQL RESTORE.

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

    • Оставить базу данных готовой к использованию, выполнив откат незафиксированных транзакций. Невозможно восстановить дополнительные журналы транзакций. (RESTORE WITH RECOVERY)

      Восстанавливает базу данных. Этот параметр равнозначен использованию параметра RECOVERY в инструкции Transact-SQL RESTORE.

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

    • Оставить базу данных в нерабочем состоянии и не производить откат незафиксированных транзакций. Можно восстановить дополнительные журналы транзакций. (RESTORE WITH NORECOVERY)

      Оставить базу данных в состоянии RESTORING (невосстановленном). Этот параметр равнозначен использованию параметра NORECOVERY в инструкции Transact-SQL RESTORE.

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

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

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

    • Оставить базу данных в режиме только для чтения. Отменить незафиксированные транзакции, но сохранить отмененные действия в файле, чтобы результаты восстановления могли быть отменены. (RESTORE WITH STANDBY)

      Оставить базу данных в резервном состоянии. Этот параметр равнозначен использованию параметра STANDBY в инструкции Transact-SQL RESTORE.

      При выборе этого параметра необходимо указать резервный файл.

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

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

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

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

Во избежание неоднозначности в каждой инструкции WITH RECOVERY рекомендуется явное задание параметра WITH NORECOVERY или WITH RECOVERY. Это особенно важно учитывать при написании скриптов.

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

  1. Чтобы применить резервную копию журналов транзакций, выполните инструкцию RESTORE LOG, указав при этом:

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

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

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

    В этой инструкции применяется следующая основная синтаксическая конструкция:

    RESTORE LOG database_name FROM <устройство_резервного_копирования> WITH NORECOVERY.

    Здесь database_name — имя базы данных, а <устройство_резервного_копирования>— имя устройства, на котором содержится восстанавливаемая резервная копия журнала.

  2. Повторите шаг 1 для каждой резервной копии журналов транзакций, которые необходимо применить.

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

    • Восстановить базу данных в составе последней инструкции RESTORE LOG:

      RESTORE LOG <database_name> FROM <backup_device> WITH RECOVERY; GO
    • Подождать, а затем восстановить базу данных отдельной инструкцией RESTORE DATABASE:

      RESTORE LOG <database_name> FROM <backup_device> WITH NORECOVERY; RESTORE DATABASE <database_name> WITH RECOVERY; GO

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

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

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

Примеры (Transact-SQL)

По умолчанию для базы данных AdventureWorks2012 используется простая модель восстановления. В следующем примере для перехода на модель полного восстановления требуется изменить базу данных следующим образом:

ALTER DATABASE AdventureWorks2012 SET RECOVERY FULL;
А.Применение одной резервной копии журнала транзакций

В следующем примере база данных AdventureWorks2012 восстанавливается с помощью полной резервной копии базы данных, которая находится на устройстве резервного копирования с именем AdventureWorks2012_1. Затем применяется первая резервная копия журнала транзакций, находящаяся на устройстве с именем AdventureWorks2012_log. В заключение происходит восстановление базы данных.

RESTORE DATABASE AdventureWorks2012 FROM AdventureWorks2012_1 WITH NORECOVERY; GO RESTORE LOG AdventureWorks2012 FROM AdventureWorks2012_log WITH FILE = 1, WITH NORECOVERY; GO RESTORE DATABASE AdventureWorks2012 WITH RECOVERY; GO
Б.Применение нескольких резервных копий журналов транзакций

В следующем примере база данных AdventureWorks2012 восстанавливается с помощью полной резервной копии базы данных, которая находится на устройстве резервного копирования с именем AdventureWorks2012_1. Затем последовательно применяются первые три копии журнала транзакций, находящиеся на устройстве с именем AdventureWorks2012_log. В заключение происходит восстановление базы данных.

RESTORE DATABASE AdventureWorks2012 FROM AdventureWorks2012_1 WITH NORECOVERY; GO RESTORE LOG AdventureWorks2012 FROM AdventureWorks2012_log WITH FILE = 1, NORECOVERY; GO RESTORE LOG AdventureWorks2012 FROM AdventureWorks2012_log WITH FILE = 2, WITH NORECOVERY; GO RESTORE LOG AdventureWorks2012 FROM AdventureWorks2012_log WITH FILE = 3, WITH NORECOVERY; GO RESTORE DATABASE AdventureWorks2012 WITH RECOVERY; GO

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

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

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

См. также

Справочник

RESTORE (Transact-SQL)

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

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

msdn.microsoft.com


Смотрите также

KDC-Toru | Все права защищены © 2018 | Карта сайта