RESTORE Statements - VERIFYONLY (Transact-SQL)

S’applique à :SQL ServerAzure SQL Managed Instance

Vérifie la sauvegarde sans la restaurer, et s'assure que le jeu de sauvegarde est complet et que tous les volumes sont lisibles. En revanche, l'instruction RESTORE VERIFYONLY ne vérifie pas la structure des données contenues dans les volumes de sauvegarde. Dans Microsoft SQL Server, l’instruction RESTORE VERIFYONLY a été améliorée afin de pouvoir effectuer un contrôle supplémentaire sur les données en vue d’accroître la probabilité de détection des erreurs. Le but est d'être le plus proche possible d'une opération de restauration réelle. Pour plus d'informations, consultez la section Notes.

Si la sauvegarde est valide, le Moteur de base de données SQL Server retourne un message de réussite.

Notes

Pour une description des arguments, consultez Arguments RESTORE (Transact-SQL).

Conventions de la syntaxe Transact-SQL

Syntaxe

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 }   
}  
  

Remarque

Pour spécifier l’emplacement et le nom de fichier du Stockage Blob Microsoft Azure, utilisez le format URL pris en charge à compter de SQL Server 2012 (11.x) SP1 Cu2. Bien que le stockage Microsoft Azure soit un service, son implémentation est similaire à celle d’un disque ou d’une bande afin d’offrir une expérience de restauration cohérente et fluide pour les trois appareils.

Arguments

Pour obtenir une description des arguments RESTORE VERIFYONLY, consultez Arguments RESTORE (Transact-SQL).

Remarques d'ordre général

Le support de sauvegarde ou le jeu de sauvegarde doivent contenir un minimum d'informations correctes pour pouvoir être interprétés sous Microsoft Tape Format. Dans le cas contraire, RESTORE VERIFYONLY s'arrête et indique que le format de la sauvegarde est incorrect.

RESTORE VERIFYONLY se charge de vérifier :

  • que le jeu de sauvegarde est complet et que tous les volumes sont lisibles ;

  • certains champs d'en-tête des pages de la base de données, tels que l'ID de la page (comme si l'écriture des données allait avoir lieu) ;

  • la somme de contrôle (si elle figure sur le support) ;

  • s'il y a un espace suffisant sur les périphériques de destination.

Notes

RESTORE VERIFYONLY ne fonctionne pas sur un instantané de base de données. Pour vérifier un instantané de base de données avant une opération de restauration, vous pouvez exécuter DBCC CHECKDB.

Notes

Avec les sauvegardes d’instantanés, RESTORE VERIFYONLY vérifie l’existence des instantanés aux emplacements spécifiés dans le fichier de sauvegarde. Les sauvegardes d’instantanés sont une nouvelle fonctionnalité de SQL Server 2016 (13.x). Pour plus d’informations sur la sauvegarde d’instantanés, consultez Sauvegarde d’instantanés de fichiers pour les fichiers de base de données dans Azure.

Sécurité

Une opération de sauvegarde peut éventuellement spécifier des mots de passe pour un support de sauvegarde, un jeu de sauvegarde ou les deux. Lorsqu'un mot de passe a été défini sur un support de sauvegarde ou un jeu de sauvegarde, vous devez entrer le ou les mots de passe corrects dans l'instruction RESTORE. Ces mots de passe empêchent les opérations non autorisées de restauration et d’ajout de jeux de sauvegarde au support à l’aide d’outils SQL Server. En revanche, un mot de passe n'empêche pas d'écraser les supports en cas d'utilisation de l'option FORMAT de l'instruction BACKUP.

Important

Le niveau de protection de ce mot de passe est faible. Son but est d'éviter que des utilisateurs autorisés ou non autorisés effectuent une restauration incorrecte à l'aide des outils SQL Server. En aucun cas, elle n'empêche la lecture des données de la sauvegarde par d'autres moyens ou le remplacement du mot de passe. Cette fonctionnalité sera supprimée dans une version future de SQL Server. N’utilisez pas cette fonctionnalité dans le nouveau travail de développement et prévoyez de modifier les applications qui utilisent actuellement cette fonctionnalité. La bonne pratique pour protéger les sauvegardes consiste à stocker des bandes de sauvegarde dans un emplacement sécurisé ou à les sauvegarder sur des fichiers de disque protégés par des listes de contrôle d’accès appropriées (ACL). La liste de contrôle d'accès doit être définie à la racine du répertoire dans lequel les sauvegardes sont effectuées.

Autorisations

À compter de SQL Server 2008 (10.0.x), vous devez avoir l’autorisation CREATE DATABASE pour pouvoir obtenir des informations sur un jeu de sauvegarde ou une unité de sauvegarde. Pour plus d’informations, consultez GRANT – octroi d’autorisations de base de données (Transact-SQL).

Exemples

L’exemple suivant vérifie la sauvegarde à partir du disque.

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

Voir aussi

BACKUP (Transact-SQL)
Jeux de supports, familles de supports et jeux de sauvegarde (SQL Server)
RESTORE REWINDONLY (Transact-SQL)
RESTORE (Transact-SQL)
Historique de sauvegarde et informations d'en-tête (SQL Server)