Partager via


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

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 cohérent avec la base de données. Il s’agit d’une restauration par récupération uniquement. Lorsque les données hors connexion sont déjà cohérentes avec la base de données et doivent uniquement être mises à disposition, une opération de restauration uniquement de récupération complète la récupération de la base de données et met les données en ligne.

Une restauration de 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.

Recovery-Only restauration de base de données

Une restauration de base de données de récupération uniquement peut être 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 dans une séquence de restauration, et vous souhaitez maintenant récupérer la base de données pour la mettre en ligne.

  • La base de données est en mode de secours et vous souhaitez mettre la base de données à jour sans appliquer une autre sauvegarde de journal.

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

RESTAURER LA BASE DE DONNÉES database_name AVEC RÉCUPÉRATION

Remarque

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 AdventureWorks2012 dans une opération de restauration sans restaurer les données.

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

Recovery-Only restauration de fichiers

Une restauration de fichier en mode récupération uniquement peut être utile dans la situation suivante :

Une base de données est restaurée par étapes. Une fois la restauration du groupe de fichiers principal terminée, un ou plusieurs des fichiers non restaurés sont cohérents avec le nouvel état de la base de données, peut-être parce qu'ils étaient en lecture seule depuis un certain temps. Ces fichiers doivent uniquement être récupérés ; la copie des données n’est pas nécessaire.

Une opération de restauration en mode récupération met en ligne les données du groupe de fichiers hors connexion ; aucune phase de copie, de restauration ou d’annulation de données ne se produit. 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 de récupération uniquement est la suivante :

RESTORE DATABASE database_name { FILE =logical_file_name | FILEGROUP =logical_filegroup_name }[ ,... n ] AVEC RÉCUPÉRATION

Exemple

L'exemple suivant illustre une restauration uniquement en récupération des fichiers dans un groupe de fichiers secondaire, SalesGroup2, dans la base de données Sales. Le groupe de fichiers principal a déjà été restauré en tant qu’étape initiale d’une restauration fragmentaire et SalesGroup2 est cohérent avec le groupe de fichiers principal restauré. La récupération de ce groupe de fichiers et son mise en ligne ne nécessite qu’une seule instruction.

RESTORE DATABASE Sales FILEGROUP=SalesGroup2 WITH RECOVERY;  

Exemples d’exécution d’un scénario de restauration fragmentaire avec une restauration Recovery-Only

Modèle de récupération simple

Modèle de récupération complète

Voir aussi

Restauration en ligne (SQL Server)
Restaurations partielles (SQL Server)
Restaurations de fichiers (modèle de récupération simple)
Restaurations de fichiers (mode de récupération complète)
RESTORE (Transact-SQL)