Istruzioni RESTORE - VERIFYONLY (Transact-SQL)

Si applica a:SQL ServerIstanza gestita di SQL di Azure

Verifica il backup senza eseguirne il ripristino e controlla che il set di backup sia completo e che l'intero backup sia leggibile. Non verifica tuttavia la struttura dei dati contenuti nei volumi di backup. In Microsoft SQL Server, l'istruzione RESTORE VERIFYONLY è stata migliorata in modo tale da consentire controlli aggiuntivi sui dati e aumentare quindi la probabilità di rilevare errori, allo scopo di essere quanto più possibile vicini ad una vera e propria operazione di ripristino. Per ulteriori informazioni, vedere la sezione Osservazioni.

Se il backup è valido, il motore di database di SQL Server restituisce un messaggio di operazione riuscita.

Nota

Per le descrizioni degli argomenti, vedere Argomenti RESTORE (Transact-SQL).

Convenzioni di sintassi Transact-SQL

Sintassi

RESTORE VERIFYONLY  
FROM <backup_device> [ ,...n ]  
[ WITH    
 {  
   LOADHISTORY   
  
--Restore Operation Option  
 | MOVE 'logical_file_name_in_backup' TO 'operating_system_file_name'   
          [ ,...n ]   
  
--Backup Set Options  
 | FILE = { backup_set_file_number | @backup_set_file_number }   
 | PASSWORD = { password | @password_variable }   
  
--Media Set Options  
 | MEDIANAME = { media_name | @media_name_variable }   
 | MEDIAPASSWORD = { mediapassword | @mediapassword_variable }  
  
--Error Management Options  
 | { CHECKSUM | NO_CHECKSUM }   
 | { STOP_ON_ERROR | CONTINUE_AFTER_ERROR }  
  
--Monitoring Options  
 | STATS [ = percentage ]   
  
--Tape Options  
 | { REWIND | NOREWIND }   
 | { UNLOAD | NOUNLOAD }    
 } [ ,...n ]  
]  
[;]  
  
<backup_device> ::=  
{   
   { logical_backup_device_name |  
      @logical_backup_device_name_var }  
   | { DISK | TAPE | URL } = { 'physical_backup_device_name' |  
       @physical_backup_device_name_var }   
}  
  

Nota

URL è il formato usato per specificare il percorso e il nome file per Archiviazione BLOB di Microsoft Azure ed è supportato a partire da SQL Server 2012 (11.x) SP1 CU2. Anche se l'archiviazione di Microsoft Azure è un servizio, l'implementazione è simile a quella per dischi e nastri, in modo da consentire un'esperienza di ripristino coerente e trasparente per tutti e tre i dispositivi.

Argomenti

Per le descrizioni degli argomenti RESTORE VERIFYONLY, vedere Argomenti RESTORE (Transact-SQL).

Osservazioni generali

Il set di supporti o di backup deve contenere un minimo di informazioni corrette affinché possa essere interpretato come MTF (Microsoft Tape Format). In caso contrario, l'esecuzione dell'istruzione RESTORE VERIFYONLY viene arrestata e indica che il formato del backup non è valido.

I controlli eseguiti da RESTORE VERIFYONLY includono:

  • Verifica che il set di backup sia completo e che tutti i volumi siano leggibili.

  • Verifica di alcuni campi di intestazione delle pagine di database, ad esempio l'ID della pagina (come se stesse per scrivere i dati).

  • Verifica del checksum (se presente sui supporti).

  • Verifica dello spazio disponibile sui dispositivi di destinazione.

Nota

RESTORE VERIFYONLY non funziona su uno snapshot del database. Per verificare uno snapshot del database prima di una operazione di ripristino, è possibile eseguire DBCC CHECKDB.

Nota

Con i backup di snapshot, RESTORE VERIFYONLY conferma l'esistenza degli snapshot nei percorsi specificati nel file di backup. I backup di snapshot sono una nuova funzionalità di SQL Server 2016 (13.x). Per altre informazioni sul backup di snapshot, vedere Backup di snapshot di file per i file di database in Azure.

Sicurezza

Per un'operazione di backup è possibile specificare password per un set di supporti o un set di backup oppure per entrambi. Se è stata impostata una password per un set di supporti o un set di backup, la password o le password corrette devono essere specificate nell'istruzione RESTORE. Queste password impediscono operazioni di ripristino non autorizzate e l'aggiunta non autorizzata di set di backup ai supporti tramite gli strumenti di SQL Server. Tuttavia, la password non impedisce la sovrascrittura dei supporti tramite l'opzione FORMAT dell'istruzione BACKUP.

Importante

Il livello di protezione garantito da questa password è vulnerabile. Lo scopo è impedire un ripristino non corretto da parte di utenti autorizzati o non autorizzati mediante gli strumenti di SQL Server. Non impedisce la lettura dei dati di backup eseguita con altri mezzi o la sostituzione della password. Questa funzionalità verrà rimossa nelle versioni future di SQL Server. Evitare di usare questa funzionalità in un nuovo progetto di sviluppo e prevedere interventi di modifica nelle applicazioni in cui è attualmente implementata. Per ottenere un livello di protezione adeguato dei backup, è consigliabile archiviare i nastri di backup in un luogo sicuro oppure eseguire il backup su file su disco protetti da elenchi di controllo di accesso (ACL) appropriati. Gli elenchi di controllo di accesso devono essere impostati a livello della directory radice in cui vengono creati i backup.

Autorizzazioni

A partire da SQL Server 2008 (10.0.x), per ottenere informazioni su un set di backup o un dispositivo di backup è necessaria l'autorizzazione CREATE DATABA edizione Standard. Per altre informazioni, vedere GRANT - autorizzazioni per database (Transact-SQL).

Esempi

L'esempio seguente verifica il backup dal disco.

RESTORE VERIFYONLY FROM DISK = 'D:\AdventureWorks.bak';
GO

Vedi anche

BACKUP (Transact-SQL)
Set di supporti, gruppi di supporti e set di backup (SQL Server)
RESTORE REWINDONLY (Transact-SQL)
RESTORE (Transact-SQL)
Informazioni sulla cronologia e sull'intestazione del backup (SQL Server)