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

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

Опрос

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

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

РКФ

 

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


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

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

Восстановление резервной копии журнала транзакций (SQL Server)Restore a Transaction Log Backup (SQL Server). Очистка журнала транзакций sql 2012


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

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

В этой статье

В этом разделе описывается восстановление журнала транзакций из резервной копии в 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)

technet.microsoft.com

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

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

В этой статье

В этом разделе описывается восстановление журнала транзакций из резервной копии в 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

  • 10/01/2013
  • Время чтения: 7 мин

В этой статье

Каждая база данных SQL Server имеет журнал транзакций, в котором фиксируются все изменения данных, произведенные в каждой из транзакций. Журнал транзакций необходимо регулярно усекать, чтобы избежать его переполнения. Но при этом по ряду причин его усечение может быть отложено, поэтому очень важно следить за размером журнала. Некоторые операции можно выполнять с минимальным протоколированием, чтобы сократить их вклад в размер журнала транзакций.

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

Примечание

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

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

  • Преимущества Операции, поддерживаемые журналом транзакций

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

  • Факторы, которые могут вызвать задержку усечения журнала

  • Операции, для которых возможно минимальное протоколирование

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

Преимущества Операции, поддерживаемые журналом транзакций

Журнал транзакций поддерживает следующие операции:

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

  • восстановление всех незавершенных транзакций при запуске SQL Server;

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

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

  • Поддержка решений высокого уровня доступности и аварийного восстановления: Группы доступности AlwaysOn, зеркальное отображение базы данных и доставка журналов.

[В начало]

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

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

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

  • В простой модели восстановления — после достижения контрольной точки.

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

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

Примечание

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

[В начало]

Факторы, которые могут вызвать задержку усечения журнала

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

Усечение журнала может быть задержано из-за множества факторов. Чтобы определить причину, препятствующую усечению журнала транзакций в конкретном случае, выполните запрос по столбцам log_reuse_wait и log_reuse_wait_desc представления каталога sys.database. В следующей таблице описаны значения этих столбцов.

Значение столбца log_reuse_wait

Значение столбца log_reuse_wait_desc

Описание

0

NOTHING;

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

1

CHECKPOINT

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

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

2

LOG_BACKUP

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

После завершения создания следующей резервной копии журнала некоторое пространство журнала может освободиться для повторного использования.

3

ACTIVE_BACKUP_OR_RESTORE

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

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

4

ACTIVE_TRANSACTION

Активна одна из транзакций (для всех моделей восстановления).

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

    Примечание

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

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

5

DATABASE_MIRRORING

Зеркальное отображение базы данных приостановлено или в режиме высокой производительности зеркальная база данных намного отстает от основной. (Только для модели полного восстановления)

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

6

REPLICATION

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

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

7

DATABASE_SNAPSHOT_CREATION

Создается моментальный снимок базы данных. (Все модели восстановления)

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

8

LOG_SCAN

Производится просмотр журнала. (Все модели восстановления)

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

9

AVAILABILITY_REPLICA

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

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

10

Только для внутреннего использования

11

Только для внутреннего использования

12

Только для внутреннего использования

13

OLDEST_PAGE

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

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

14

OTHER_TRANSIENT

Эта значение сейчас не используется.

[В начало]

Операции, для которых возможно минимальное протоколирование

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

Примечание

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

Следующие операции, выполняемые с полным протоколированием в модели полного восстановления, осуществляются с минимальным протоколированием в простой модели восстановления и модели восстановления с неполным протоколированием:

  • Операции массового импорта (bcp, BULK INSERT и INSERT... SELECT). Дополнительные сведения о том, когда массовый импорт в таблицу подлежит минимальному протоколированию, см. в разделе Предварительные условия для минимального ведения журнала массового импорта данных.

    Примечание

    Если включена репликация транзакций, операции BULK INSERT полностью протоколируются даже в модели с неполным протоколированием.

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

    Примечание

    Если включена репликация транзакций, операции SELECT INTO полностью протоколируются даже в модели восстановления с неполным протоколированием.

  • Частичные обновления типов данных с большими значениями с помощью предложений .WRITE инструкции UPDATE при вставке или добавлении новых данных. Обратите внимание, что минимальное протоколирование не используется при обновлении существующих значений. Дополнительные сведения о больших типах-значениях см. в разделе Типы данных (Transact-SQL).

  • Инструкции WRITETEXT и UPDATETEXT при вставке или добавлении новых данных в столбцы с типом данных text, ntext и image. Обратите внимание, что минимальное протоколирование не используется при обновлении существующих значений.

    Примечание

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

  • Если в базе данных используется простая модель восстановления или модель восстановления с неполным протоколированием, некоторые DDL-операции с индексом протоколируются в минимальном объеме при их выполнении как режиме «вне сети», так и в режиме «в сети». Минимально протоколируются следующие операции с индексами.

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

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

      Примечание

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

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

      Примечание

      Освобождение страниц индекса в ходе выполнения операции DROP INDEX всегда протоколируется полностью.

[В начало]

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

Managing the transaction log

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

Восстановление журнала транзакций (модель полного восстановления)

[В начало]

См. также

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

Предварительные условия для минимального ведения журнала массового импорта данных

Резервное копирование и восстановление баз данных SQL Server

Контрольные точки базы данных (SQL Server)

Просмотр или изменение свойств базы данных

Модели восстановления (SQL Server)

msdn.microsoft.com

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

  • 10/16/2013
  • Время чтения: 7 мин

В этой статье

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

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

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

    Ограничения

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

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

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

    SQL Server Management Studio

    Transact-SQL

    PowerShell

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

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

Ограничения

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

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

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

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

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

Разрешения

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

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

[В начало]

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

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

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

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

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

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

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

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

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

    Примечание

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

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

  9. При необходимости можно ввести описание резервного набора данных в текстовом поле Описание.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

[В начало]

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

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

Пример (Transact-SQL)

Важно!

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

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

BACKUP LOG AdventureWorks2012 TO MyAdvWorks_FullRM_log1; GO

[В начало]

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

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

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

    --Enter this command at the PowerShell command prompt, C:\PS> Backup-SqlDatabase -ServerInstance Computer\Instance -Database MyDB -BackupAction Log

Настройка и использование поставщика SQL Server PowerShell

[В начало]

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

[В начало]

См. также

Справочник

BACKUP (Transact-SQL)

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

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

Планы обслуживания

полные резервные копии файлов (SQL Server)

msdn.microsoft.com


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