Récupérer une base de données sans restaurer les données (Transact-SQL)

S’applique à :SQL Server

En règle générale, toutes les données d’une base de données SQL Server sont restaurées avant la récupération de la base de données. Toutefois, une opération de restauration peut récupérer une base de données sans réellement restaurer une sauvegarde, par exemple lors de la récupération d'un fichier en lecture seule qui est cohérent avec la base de données. Il s’agit d’une restauration avec récupération uniquement. Lorsque des données hors ligne sont déjà cohérentes avec la base de données et doivent uniquement être rendues disponibles, une restauration avec récupération uniquement termine la récupération de la base de données et met les données en ligne.

Une restauration avec récupération uniquement peut se produire pour une base de données entière ou pour un ou plusieurs fichiers ou groupes de fichiers.

Restauration de base de données avec récupération uniquement

Une restauration de base de données avec récupération uniquement est utile dans les situations suivantes :

  • Vous n'avez pas récupéré la base de données lors de la restauration de la dernière sauvegarde au cours d'une séquence de restauration, et vous voulez à présent récupérer cette base de données pour la mettre en ligne.

  • La base de données est en mode veille, et vous voulez qu'elle puisse être mise à jour sans appliquer une autre sauvegarde de journal.

La syntaxe RESTORE pour une restauration de base de données avec récupération uniquement est la suivante :

RESTORE DATABASE *database_name* WITH RECOVERY

Note

La clause FROM =<backup_device> n’est pas utilisée pour les restaurations uniquement de récupération, car aucune sauvegarde n’est nécessaire.

Exemple

L'exemple suivant récupère l'exemple de base de données AdventureWorks2022 dans le cadre d'une opération de restauration sans restaurer les données.

-- Restore database using WITH RECOVERY.  
RESTORE DATABASE AdventureWorks2022  
   WITH RECOVERY  

Restauration de fichier avec récupération uniquement

Une restauration de fichier avec récupération uniquement est utile dans la situation suivante :

Une base de données est restaurée par fragments. Une fois le groupe de fichiers primaire restauré, un ou plusieurs des fichiers non restaurés sont cohérents avec le nouvel état de la base de données, peut-être pour avoir été en lecture seule un moment. Ces fichiers doivent seulement être récupérés ; la copie des données n'est pas nécessaire.

Une opération de restauration avec récupération uniquement met en ligne les données du groupe de fichiers hors connexion ; aucune phase de copie des données ni d'annulation ou de restauration par progression n'est effectuée. Pour plus d’informations sur les phases de restauration, consultez Vue d’ensemble de la restauration et de la récupération (SQL Server).

La syntaxe RESTORE pour une restauration de fichier avec récupération uniquement est la suivante :

RESTORE DATABASE *database_name* { FILE **=**_logical_file_name_ | FILEGROUP **=**_logical_filegroup_name_ }[ **,**...*n* ] WITH RECOVERY

Exemple

L'exemple suivant illustre une restauration de fichier avec récupération uniquement des fichiers dans un groupe de fichiers secondaire, SalesGroup2, dans la base de données Sales . Le groupe de fichiers primaire a déjà été restauré au cours de l'étape initiale d'une restauration fragmentaire, et SalesGroup2 est cohérent avec le groupe de fichiers primaire restauré. La récupération de ce groupe de fichiers et sa mise en ligne ne requièrent qu'une seule instruction.

RESTORE DATABASE Sales FILEGROUP=SalesGroup2 WITH RECOVERY;  

Exemples de finalisation d'un scénario de restauration fragmentaire à l'aide d'une restauration avec récupération uniquement

Mode de récupération simple

Mode de restauration complète

Voir aussi

Restauration en ligne (SQL Server)
Restaurations fragmentaires (SQL Server)
Restaurations de fichiers (mode de récupération simple)
Restaurations de fichiers (mode de restauration complète)
RESTORE (Transact-SQL)
Vue d'ensemble de la restauration et de la récupération (SQL Server)