Создание резервной копии журнала транзакций при повреждении базы данных (SQL Server)Back Up the Transaction Log When the Database Is Damaged (SQL Server)

ОБЛАСТЬ ПРИМЕНЕНИЯ: даSQL Server нетБаза данных SQL Azure нетAzure Synapse Analytics (хранилище данных SQL) нетParallel Data Warehouse APPLIES TO: yesSQL Server noAzure SQL Database noAzure Synapse Analytics (SQL DW) noParallel Data Warehouse

В этой теме описывается резервное копирование журнала транзакций в случае, если база данных повреждена в SQL ServerSQL Server . Для этого используется SQL Server Management StudioSQL Server Management Studio или Transact-SQLTransact-SQL.This topic describes how to back up a transaction log when the database is damaged in SQL ServerSQL Server by using SQL Server Management StudioSQL Server Management Studio or Transact-SQLTransact-SQL.

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

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

ОграниченияLimitations and Restrictions

  • Инструкция BACKUP не разрешена в явных и неявных транзакциях.The BACKUP statement is not allowed in an explicit or implicit transaction.

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

  • В базе данных, использующей модель полного восстановления или модель восстановления с неполным протоколированием, в большинстве случаев требуется, чтобы перед восстановлением базы данных была создана резервная копия заключительного фрагмента журнала.For a database that uses either the full or bulk-logged recovery model, you generally need to back up the tail of the log before beginning to restore the database. Также необходимо выполнить резервное копирование заключительного фрагмента журнала базы данных-источника перед переходом на другой ресурс конфигурации доставки журналов.You also should back up the tail of the log of the primary database before failing over a log shipping configuration. Восстановление резервной копии заключительного фрагмента журнала в качестве заключительной резервной копии перед восстановлением базы данных позволяет избежать потери работы после сбоя.Restoring the tail-log backup as the final log backup before recovering the database avoids work loss after a failure. Дополнительные сведения о резервных копиях заключительного фрагмента журнала см. в разделе Резервные копии заключительного фрагмента журнала (SQL Server).For more information about tail-log backups, see Tail-Log Backups (SQL Server).

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

PermissionsPermissions

Разрешения BACKUP DATABASE и BACKUP LOG назначены по умолчанию членам предопределенной роли сервера sysadmin и предопределенным ролям базы данных db_owner и db_backupoperator .BACKUP DATABASE and BACKUP LOG permissions default to members of the sysadmin fixed server role and the db_owner and db_backupoperator fixed database roles.

Проблемы, связанные с владельцем и разрешениями у физических файлов на устройстве резервного копирования, могут помешать операции резервного копирования.Ownership and permission problems on the backup device's physical file can interfere with a backup operation. SQL ServerSQL Server должен иметь возможность считывать и записывать данные на устройстве; учетная запись, от имени которой выполняется служба SQL ServerSQL Server , должна иметь разрешения на запись.must be able to read and write to the device; the account under which the SQL ServerSQL Server service runs must have write permissions. Однако процедура sp_addumpdevice, добавляющая запись для устройства резервного копирования в системные таблицы, не проверяет разрешения на доступ к файлу.However, sp_addumpdevice, which adds an entry for a backup device in the system tables, does not check file access permissions. Проблемы физического файла устройства резервного копирования могут не проявляться до момента доступа к физическому ресурсу во время операции резервного копирования или восстановления.Such problems on the backup device's physical file may not appear until the physical resource is accessed when the backup or restore is attempted.

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

Создание резервной копии заключительного фрагмента журнала транзакцийTo back up the tail of the transaction log

  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, and then click Back Up. Откроется диалоговое окно Резервное копирование базы данных .The Back Up Database dialog box appears.

  4. В списке База данных проверьте имя базы данных.In the Database list box, verify the database name. При необходимости можно выбрать другую базу данных из списка.You can optionally select a different database from the list.

  5. Убедитесь в том, что используется либо модель восстановления FULL , либо BULK_LOGGED.Verify that the recovery model is either FULL or BULK_LOGGED.

  6. Выберите Журнал транзакций в списке Тип резервного копирования.In the Backup type list box, select Transaction Log.

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

  8. В области Набор резервного копирования оставьте имя резервного набора данных, предложенное по умолчанию в текстовом поле Имя , или введите другое имя резервного набора данных.In the Backup set area, either accept the default backup set name suggested in the Name text box, or enter a different name for the backup set.

  9. Введите описание резервной копии заключительного фрагмента журнала в текстовом поле Описание .In the Description text box, enter a description for the tail-log backup.

  10. Укажите, когда истекает срок действия резервного набора данных.Specify when the backup set will expire:

    • Чтобы задать срок действия резервного набора данных, выберите пункт После (параметр по умолчанию) и введите срок действия набора в днях с момента его создания.To have the backup set expire after a specific number of days, click After (the default option), and enter the number of days after set creation that the set will expire. Это значение может быть задано в диапазоне от 0 до 99 999 дней. Значение 0 означает, что срок действия резервного набора данных не ограничен.This value can be from 0 to 99999 days; a value of 0 days means that the backup set will never expire.

      Значение по умолчанию задается в параметре Срок хранения носителей резервных копий по умолчанию (дней) диалогового окна Свойства сервера (страницаПараметры базы данных ).The default value is set in the Default backup media retention (in days) option of the Server Properties dialog box (Database Settings page). Для этого щелкните правой кнопкой мыши имя сервера в обозревателе объектов и выберите его свойства, затем страницу Параметры базы данных .To access this dialog box, right-click the server name in Object Explorer and select properties; then select the Database Settings page.

    • Чтобы указать дату истечения срока действия резервного набора данных, выберите пункт Наи введите дату истечения срока действия резервного набора данных.To have the backup set expire on a specific date, click On, and enter the date on which the set will expire.

  11. Чтобы выбрать тип назначения резервной копии, выберите пункт Диск или Лента.Choose the type of backup destination by clicking Disk or Tape. Чтобы выбрать пути к 64 (или менее) дискам или накопителям на магнитной ленте, содержащим один набор носителей, нажмите кнопку Добавить.To select the paths of up to 64 disk or tape drives containing a single media set, click Add. Выбранные пути отображаются в списке Создать резервную копию в .The selected paths are displayed in the Backup to list box.

    Чтобы удалить носитель резервной копии, выберите его и нажмите кнопку Удалить.To remove a backup destination, select it and click Remove. Чтобы просмотреть содержимое носителя резервной копии, выберите его и щелкните Содержимое.To view the contents of a backup destination, select it and click Contents.

  12. На странице Параметры выберите параметр Переписать носитель , указав один из следующих вариантов.On the Options page, select an Overwrite Media option, by clicking one of the following:

    • Создать резервную копию в существующем наборе носителейBack up to the existing media set

      Для этого параметра выберите вариант Добавить в существующий резервный набор данных или Перезаписать все существующие резервные наборы данных.For this option, click either Append to the existing backup set or Overwrite all existing backup sets.

      При необходимости выберите Проверить имя набора носителей и срок действия резервного набора данных , чтобы при выполнении операции резервного копирования производилась проверка срока действия набора носителей и резервного набора данных.Optionally, select Check media set name and backup set expiration to cause the backup operation to verify the date and time at which the media set and backup set expire.

      При необходимости введите имя в текстовое поле Имя набора носителей .Optionally, enter a name in the Media set name text box. Если имя не указано, создается набор носителей с пустым именем.If no name is specified, a media set with a blank name is created. Если имя набора носителей указано, то для носителя (ленточного или дискового) проверяется совпадение введенного и существующего имени.If you specify a media set name, the media (tape or disk) is checked to see whether the actual name matches the name you enter here.

      Если оставить имя носителя пустым и установить рядом с ним флажок для проверки, имя носителя при успешном завершении также станет пустым.If you leave the media name blank and check the box to check it against the media, success will equal the media name on the media also being blank.

    • Создать резервную копию в новом наборе носителей и удалить все существующие резервные наборы данныхBack up to a new media set, and erase all existing backup sets

      Для этого параметра введите имя в текстовом поле Имя нового набора носителей и при необходимости введите описание набора носителей в текстовое поле Описание нового набора носителей .For this option, enter a name in the New media set name text box, and, optionally, describe the media set in the New media set description text box.

    Сведения о параметрах набора носителей см. в разделе Наборы носителей, семейства носителей и резервные наборы данных (SQL Server).For more information about media set options, see Media Sets, Media Families, and Backup Sets (SQL Server).

  13. В разделе Надежность можно установить следующие флажки.In the Reliability section, optionally, check:

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

    • Рассчитать контрольную сумму перед записью на носитель.Perform checksum before writing to media.

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

    Дополнительные сведения см. в разделе Возможные ошибки носителей во время резервного копирования и восстановления (SQL Server).For information on checksums, see Possible Media Errors During Backup and Restore (SQL Server).

  14. В разделе Журнал транзакций установите флажок Создать резервную копию заключительного фрагмента журнала и оставить базу данных в состоянии восстановления.In the Transaction log section, check Back up the tail of the log, and leave database in the restoring state.

    Это эквивалентно следующей инструкции BACKUP :This is equivalent to specifying the following BACKUP statement:

    BACKUP LOG <database_name> TO <backup_device> WITH NORECOVERY

    Важно!

    Во время восстановления в диалоговом окне "Восстановление базы данных" тип резервной копии заключительного фрагмента журнала отображается как Журнал транзакций (только копия) .At restore time, the Restore Database dialog box displays the type of a tail-log backup as Transaction Log (Copy Only).

  15. При резервном копировании на накопитель на магнитной ленте (как указано в разделе Назначение страницы Общие ) активен параметр Выгрузить ленту после резервного копирования .If you are backing up to a tape drive (as specified in the Destination section of the General page), the Unload the tape after backup option is active. Щелкните этот параметр, чтобы активировать параметр Перемотать ленту перед выгрузкой .Clicking this option activates the Rewind the tape before unloading option.

  16. SQL Server 2008 EnterpriseSQL Server 2008 Enterprise и более поздние версии поддерживают сжатие резервных копий.and later supports backup compression. По умолчанию сжатие резервных копий зависит от значения параметра конфигурации сервера backup-compression default .By default, whether a backup is compressed depends on the value of the backup-compression default server configuration option. Однако независимо от текущего значения по умолчанию на уровне сервера можно сжать резервные копии, установив параметр Сжимать резервные копии, или отказаться от сжатия резервных копий, установив параметр Не сжимать резервные копии.However, regardless of the current server-level default, you can compress a backup by checking Compress backup, and you can prevent compression by checking Do not compress backup.

    Просмотр текущих значений параметров по умолчанию для сжатия резервных копийTo view the current backup compression default

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

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

  1. Для создания резервной копии активного журнала транзакций выполните инструкцию BACKUP LOG, указав:Execute the BACKUP LOG statement to back up the currently active transaction log, specifying:

    • имя базы данных, которой принадлежит журнал транзакций для резервного копирования;The name of the database to which the transaction log to back up belongs.

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

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

      Это предложение позволяет выполнить резервное копирование активной части журнала транзакций, даже если база данных недоступна, при условии, что файл журнала транзакций доступен и не поврежден.This clause allows the active part of the transaction log to be backed up even if the database is inaccessible, provided that the transaction log file is accessible and undamaged.

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

Примечание

В этом примере используется метод AdventureWorks2012AdventureWorks2012, который опирается на простую модель восстановления.This example uses the AdventureWorks2012AdventureWorks2012, which uses the simple recovery model. Чтобы разрешить создание резервных копий журналов, перед созданием полной резервной копии база данных должна быть настроена на использование модели полного восстановления.To permit log backups, before taking a full database backup, the database was set to use the full recovery model. Дополнительные сведения см. в разделе Просмотр или изменение модели восстановления базы данных (SQL Server).For more information, see View or Change the Recovery Model of a Database (SQL Server).

В этом примере выполняется резервное копирование активного журнала транзакций, когда база данных повреждена и недоступна, однако журнал транзакций не поврежден и доступен.This example backs up the currently active transaction log when a database is damaged and inaccessible, if the transaction log is undamaged and accessible.

BACKUP LOG AdventureWorks2012  
   TO MyAdvWorks_FullRM_log1  
   WITH NO_TRUNCATE;  
GO  

См. также:See Also

Восстановление резервной копии журнала транзакций (SQL Server) Restore a Transaction Log Backup (SQL Server)
Восстановление базы данных SQL Server до определенного момента времени (модель полного восстановления) Restore a SQL Server Database to a Point in Time (Full Recovery Model)
Резервное копирование базы данных (страница "Параметры резервного копирования") Back Up Database (Backup Options Page)
Резервное копирование базы данных (страница "Общие") Back Up Database (General Page)
Применение резервных копий журналов транзакций (SQL Server) Apply Transaction Log Backups (SQL Server)
BACKUP (Transact-SQL) BACKUP (Transact-SQL)
Восстановление файлов (простая модель восстановления) File Restores (Simple Recovery Model)
Файлы из резервных копий (модель полного восстановления)File Restores (Full Recovery Model)