Specificare se il backup o il ripristino deve proseguire o arrestarsi dopo un errore

Si applica a:SQL Server

In questo argomento viene descritto come specificare se un'operazione di backup o ripristino si arresta o prosegue quando si verifica un errore in SQL Server utilizzando SQL Server Management Studio o Transact-SQL.

Contenuto dell'articolo

Prima di iniziare

Sicurezza

Autorizzazioni

BACKUP
Le autorizzazioni BACKUP DATABASE e BACKUP LOG vengono assegnate per impostazione predefinita ai membri del ruolo predefinito del server sysadmin e dei ruoli predefiniti del database db_owner e db_backupoperator .

Eventuali problemi correlati alla proprietà e alle autorizzazioni sul file fisico del dispositivo di backup possono interferire con l'operazione di backup. SQL Server deve essere in grado di leggere e scrivere nel dispositivo; l'account con il quale viene eseguito il servizio SQL Server deve avere autorizzazioni di scrittura. Le autorizzazioni di accesso ai file, tuttavia, non vengono controllate dalla stored procedure sp_addumpdeviceche aggiunge una voce per un dispositivo di backup nelle tabelle di sistema. Di conseguenza, i problemi relativi all'accesso e alla proprietà del file fisico del dispositivo di backup potrebbero emergere solo in fase di accesso alla risorsa fisica durante un tentativo di backup o ripristino.

RESTORE
Se il database da ripristinare non esiste, per eseguire un'operazione RESTORE l'utente deve disporre delle autorizzazioni CREATE DATABASE. Se il database esiste, le autorizzazioni per l'istruzione RESTORE vengono assegnate per impostazione predefinita ai membri dei ruoli predefiniti del server sysadmin e dbcreator e al proprietario (dbo) del database. Per l'opzione FROM DATABASE_SNAPSHOT, il database esiste sempre.

Le autorizzazioni per l'istruzione RESTORE vengono assegnate ai ruoli in cui le informazioni sull'appartenenza sono sempre disponibili per il server. Poiché è possibile controllare l'appartenenza ai ruoli predefiniti del database solo quando il database è accessibile e non è danneggiato, condizioni che non risultano sempre vere quando si esegue un'operazione RESTORE, i membri del ruolo predefinito del database db_owner non dispongono delle autorizzazioni per l'istruzione RESTORE.

Utilizzo di SQL Server Management Studio

Per specificare se il backup viene arrestato o prosegue se viene rilevato un errore

  1. Seguire i passaggi per creare un backup di database.

  2. Nella sezione Affidabilità della pagina Opzioni fare clic su Esegui checksum prima della scrittura nei supporti e Continua in caso di errori.

Utilizzo di Transact-SQL

Per specificare se un'operazione di backup viene arrestata o prosegue in seguito a un errore

  1. Connettersi al motore di database di .

  2. Dalla barra Standard fare clic su Nuova query.

  3. Nell'istruzione BACKUP specificare l'opzione CONTINUE_AFTER ERROR per continuare o l'opzione STOP_ON_ERROR per interrompere. Il comportamento predefinito è l'arresto nel caso venga rilevato un errore. In questo esempio si indica all'operazione di backup di continuare nonostante sia stato rilevato un errore.

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

Per specificare se un'operazione di ripristino viene arrestata o prosegue in seguito a un errore

  1. Connettersi al motore di database di .

  2. Dalla barra Standard fare clic su Nuova query.

  3. Nell'istruzione RESTORE specificare l'opzione CONTINUE_AFTER ERROR per continuare o l'opzione STOP_ON_ERROR per interrompere. Il comportamento predefinito è l'arresto nel caso venga rilevato un errore. In questo esempio si indica all'operazione di ripristino di continuare nonostante sia stato rilevato un errore.

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

Vedi anche

RESTORE FILELISTONLY (Transact-SQL)
RESTORE HEADERONLY (Transact-SQL)
RESTORE LABELONLY (Transact-SQL)
RESTORE VERIFYONLY (Transact-SQL)
BACKUP (Transact-SQL)
backupset (Transact-SQL)
Argomenti RESTORE (Transact-SQL)
Possibili errori relativi ai supporti durante il backup e il ripristino (SQL Server)
Abilitare o disabilitare il checksum di backup durante il backup o il ripristino (SQL Server)