Настройка резервного копирования или восстановления для продолжения или остановки после ошибки

Применимо к:SQL Server

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

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

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

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

Разрешения

РЕЗЕРВНОЕ КОПИРОВАНИЕ
Разрешения 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.

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

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

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

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

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

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

  1. Соединитесь с ядром СУБД .

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

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

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

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

  1. Соединитесь с ядром СУБД .

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

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

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

См. также

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)