Restaurations de base de données complètes (mode de récupération simple)

S’applique à :SQL Server

Lors d'une restauration complète de base de données, le but est de restaurer la totalité de la base de données. L'ensemble de la base de données est hors ligne pendant la durée de la restauration. Avant qu'une partie quelconque de la base de données ne puisse être mise en ligne, toutes les données sont récupérées dans un état cohérent où toutes les parties de la base de données sont chronologiquement synchronisées et aucune transaction non validée n'existe.

En mode de récupération simple, la base de données ne peut pas être restaurée à un certain point chronologique dans une sauvegarde spécifique.

Important

Nous vous recommandons de ne pas attacher ni restaurer de bases de données provenant de sources inconnues ou non approuvées. Ces bases de données peuvent contenir du code malveillant qui peut exécuter du code Transact-SQL involontaire ou provoquer des erreurs en modifiant le schéma ou la structure de base de données physique. Avant d’utiliser une base de données issue d’une source inconnue ou non approuvée, exécutez DBCC CHECKDB sur la base de données sur un serveur autre qu’un serveur de production et examinez également le code, notamment les procédures stockées ou le code défini par l’utilisateur, de la base de données.

Dans cette rubrique :

Note

Pour plus d’informations sur la prise en charge de sauvegardes provenant de versions antérieures de SQL Server, consultez la section « Prise en charge de la compatibilité » de RESTORE (Transact-SQL).

Vue d'ensemble de la restauration de la base de données en mode de récupération simple

Une restauration de base de données complète en mode de récupération simple s'effectue à l'aide d'une ou de deux instructions RESTORE , selon qu'il faille ou non restaurer une sauvegarde de base de données différentielle. Si vous utilisez uniquement une sauvegarde complète de base de données, restaurez simplement la sauvegarde la plus récente, tel qu'indiqué dans l'illustration suivante.

Restoring only a full database backup

Si vous utilisez également une sauvegarde de base de données différentielle, restaurez la sauvegarde complète de base de données la plus récente sans récupérer la base de données, puis restaurez la sauvegarde de base de données différentielle la plus récente et récupérez la base de données. L'illustration ci-dessous montre ce processus.

Restoring full and differential database backups

Note

Si vous envisagez de restaurer une sauvegarde de base de données sur une instance de serveur différente, consultez Copier des bases de données avec la sauvegarde et la restauration.

Syntaxe de base de l'instruction Transact-SQL RESTORE

La syntaxe Transact-SQLRESTORE de base pour restaurer une sauvegarde complète de base de données est la suivante :

RESTORE DATABASE database_name FROM backup_device [ WITH NORECOVERY ]

Note

Utilisez la commande WITH NORECOVERY si vous envisagez de restaurer aussi une sauvegarde de base de données différentielle.

La syntaxe de base RESTORE pour la restauration d'une sauvegarde de base de données est :

RESTORE DATABASE database_name FROM backup_device WITH RECOVERY

Exemple (Transact-SQL)

L'exemple ci-dessous illustre d'abord l'utilisation de l'instruction BACKUP pour créer une sauvegarde complète et une sauvegarde différentielle de la base de données AdventureWorks2022 . L'exemple restaure ensuite ces sauvegardes dans l'ordre. La base de données est restaurée dans l'état qui était le sien à la fin de la sauvegarde différentielle de base de données.

L'exemple illustre les options importantes d'une séquence de restauration dans le cadre d'un scénario de restauration complète de base de données. Une séquence de restauration consiste en une ou plusieurs opérations de restauration déplaçant des données entre une ou plusieurs phases de restauration. La syntaxe et les détails qui ne sont pas pertinents sont omis. Si vous récupérez une base de données, nous vous recommandons de spécifier explicitement l'option RECOVERY par souci de clarté, bien qu'il s'agisse de l'option par défaut.

Note

L’exemple commence par une instruction ALTER DATABASE qui affecte au mode de récupération la valeur SIMPLE.

USE master;  
--Make sure the database is using the simple recovery model.  
ALTER DATABASE AdventureWorks2022 SET RECOVERY SIMPLE;  
GO  
-- Back up the full AdventureWorks2022 database.  
BACKUP DATABASE AdventureWorks2022   
TO DISK = 'Z:\SQLServerBackups\AdventureWorks2022.bak'   
  WITH FORMAT;  
GO  
--Create a differential database backup.  
BACKUP DATABASE AdventureWorks2022   
TO DISK = 'Z:\SQLServerBackups\AdventureWorks2022.bak'  
   WITH DIFFERENTIAL;  
GO  
--Restore the full database backup (from backup set 1).  
RESTORE DATABASE AdventureWorks2022   
FROM DISK = 'Z:\SQLServerBackups\AdventureWorks2022.bak'   
   WITH FILE=1, NORECOVERY;  
--Restore the differential backup (from backup set 2).  
RESTORE DATABASE AdventureWorks2022   
FROM DISK = 'Z:\SQLServerBackups\AdventureWorks2022.bak'   
   WITH FILE=2, RECOVERY;  
GO  

Tâches associées

Pour restaurer une sauvegarde complète de base de données

Pour restaurer une sauvegarde différentielle de base de données

Pour restaurer une sauvegarde à l'aide de SMO (SQL Server Management Objects)

Voir aussi

RESTORE (Transact-SQL)
BACKUP (Transact-SQL)
sp_addumpdevice (Transact-SQL)
Sauvegardes de base de données complètes (SQL Server)
Sauvegardes différentielles (SQL Server)
Backup Overview (SQL Server)
Vue d'ensemble de la restauration et de la récupération (SQL Server)