Определение, продолжает ли операция резервного копирования или восстановления работу после возникновения ошибки (SQL Server)

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

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

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

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

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

    Среда SQL Server Management Studio

    Transact-SQL

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

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

Разрешения

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

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

  • RESTORE
    Если восстанавливаемая база данных не существует, для выполнения инструкции RESTORE у пользователя должны быть разрешения CREATE DATABASE. Если база данных существует, разрешения на выполнение инструкции RESTORE по умолчанию предоставлены членам предопределенных ролей сервера sysadmin и dbcreator, а также владельцу базы данных (dbo) (для параметра FROM DATABASE_SNAPSHOT база данных всегда существует).

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

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

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

Определение, продолжается ли или останавливается резервное копирование при возникновении ошибки

  1. Выполните следующие шаги, чтобы создать резервную копию базы данных.

  2. На странице Параметры в разделе Надежность выберите параметр Вычислять контрольную сумму перед записью на носитель и Продолжить при возникновении ошибки.

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

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

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

  1. Установите соединение с компонентом Компонент Database Engine.

  2. На панели «Стандартная» нажмите Создать запрос.

  3. В инструкции BACKUP задайте параметр CONTINUE_AFTER ERROR для продолжения или STOP_ON_ERROR для остановки. По умолчанию в случае ошибки операция останавливается. В этом примере операция резервного копирования настраивается на продолжение работы в случае ошибки.

BACKUP DATABASE AdventureWorks2012 
 TO DISK = 'Z:\SQLServerBackups\AdvWorksData.bak'
   WITH CHECKSUM, CONTINUE_AFTER_ERROR;
GO

Определение, продолжает ли операция восстановления работу или останавливается после возникновения ошибки

  1. Установите соединение с компонентом Компонент Database Engine.

  2. На панели «Стандартная» нажмите Создать запрос.

  3. В инструкции RESTORE укажите параметр CONTINUE_AFTER ERROR для продолжения или STOP_ON_ERROR для остановки. По умолчанию в случае ошибки операция останавливается. В этом примере операция восстановления настраивается на продолжение работы в случае ошибки.

RESTORE DATABASE AdventureWorks2012 
 FROM DISK = 'Z:\SQLServerBackups\AdvWorksData.bak' 
   WITH CHECKSUM, CONTINUE_AFTER_ERROR;
GO

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

См. также

Справочник

Инструкция RESTORE FILELISTONLY (Transact-SQL)

Инструкция RESTORE HEADERONLY (Transact-SQL)

RESTORE LABELONLY (Transact-SQL)

RESTORE VERIFYONLY (Transact-SQL)

BACKUP (Transact-SQL)

backupset (Transact-SQL)

Аргументы инструкции RESTORE (Transact-SQL)

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

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

Включение или отключение вычисления контрольных сумм резервных копий во время резервного копирования или восстановления (SQL Server)