Condividi tramite


Abilitare o disabilitare il checksum di backup durante il backup o il ripristino (SQL Server)

Si applica a:SQL Server

Questo articolo descrive come abilitare o disabilitare i checksum di backup durante il backup o il ripristino di un database in SQL Server usando SQL Server Management Studio o Transact-SQL.

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_addumpdevice che aggiunge una voce per un dispositivo di backup nelle tabelle di sistema. I problemi sul file fisico del dispositivo di backup potrebbero non emergere fino a quando non si accede alla risorsa fisica durante un tentativo di backup o ripristino.

RESTORE

Se il database da ripristinare non esiste, l'utente deve avere le autorizzazioni CREATE DATABASE per eseguire un'istruzione RESTORE. 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.

I permessi RESTORE vengono assegnati ai ruoli per i quali le informazioni sull'appartenenza sono sempre facilmente 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.

Usare SQL Server Management Studio

Abilitare o disabilitare i checksum durante un'operazione di backup

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

  2. Nella pagina Opzioni, nella sezione Affidabilità, selezionare Esegui checksum prima della scrittura su supporti.

Usare Transact-SQL

Abilitare o disabilitare i checksum di backup per un'operazione di backup

  1. Connetti al motore di database.

  2. Nella barra Standard selezionare Nuova query.

  3. Per abilitare i checksum di backup in un'istruzione BACKUP (Transact-SQL), specificare l'opzione WITH CHECKSUM. Per disabilitare i checksum di backup, specificare l'opzione WITH NO_CHECKSUM. Si tratta del comportamento predefinito, tranne nel caso di un backup compresso. Nell'esempio seguente si specifica che vengano eseguiti controlli di checksum.

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

Abilitare o disabilitare i checksum di backup per un'operazione di ripristino

  1. Connetti al motore del database.

  2. Nella barra Standard selezionare Nuova query.

  3. Per abilitare i checksum di backup in un'istruzione RESTORE (Transact-SQL), specificare l'opzione WITH CHECKSUM. Questo comportamento è quello predefinito per un backup compresso. Per disabilitare i checksum di backup, specificare l'opzione WITH NO_CHECKSUM. Si tratta del comportamento predefinito, tranne nel caso di un backup compresso. Nell'esempio seguente si specifica che vengano eseguiti i checksum di backup.

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

Avviso

Se si richiede esplicitamente l'opzione CHECKSUM per un'operazione di ripristino e il backup contiene checksum del backup, sia i checksum del backup che quelli delle pagine verranno verificati, come nel caso predefinito. Tuttavia, se al set di backup mancano i checksum del backup, l'operazione di ripristino si interrompe con un messaggio che indica che i checksum non sono presenti.