Réalisation d'une restauration de base de données complète (mode de récupération simple)

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 de la base de données ne soit 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 restauration complète, la base de données ne peut pas être restaurée à un certain point chronologique dans une sauvegarde spécifique.

Restauration d'une base de données complète

  1. Une restauration de base de données complète en mode de récupération simple ne s'effectue qu'à l'aide d'une ou 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.

Restauration d'une sauvegarde complète de base de données uniquement

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.

Restauration de sauvegardes complètes et différentielles d'une base de données

Lors de la restauration complète d'une base de données, une séquence de restauration doit être utilisée. L'exemple suivant 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 au cours desquelles des données sont déplacées. La syntaxe et les détails qui ne sont pas importants à cette fin sont omis.

La base de données est restaurée dans l'état d'une sauvegarde de base de données complète. 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.

Exemple

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 AdventureWorks2008R2. L'exemple restaure ensuite ces sauvegardes dans l'ordre.

Notes

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 AdventureWorks2008R2 SET RECOVERY SIMPLE;
GO
-- Back up the full AdventureWorks2008R2 database.
BACKUP DATABASE AdventureWorks2008R2 TO DISK = 'Z:\SQLServerBackups\AdventureWorks2008R2.bak' 
  WITH FORMAT;
GO
--Create a differential database backup.
BACKUP DATABASE AdventureWorks2008R2 TO DISK = 'Z:\SQLServerBackups\AdventureWorks2008R2.bak'
   WITH DIFFERENTIAL;
GO
--Restore the full database backup (from backup set 1).
RESTORE DATABASE AdventureWorks2008R2 FROM DISK = 'Z:\SQLServerBackups\AdventureWorks2008R2.bak' 
   WITH FILE=1, NORECOVERY;
--Restore the differential backup (from backup set 2).
RESTORE DATABASE AdventureWorks2008R2 FROM DISK = 'Z:\SQLServerBackups\AdventureWorks2008R2.bak' 
   WITH FILE=2, RECOVERY;
GO

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

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 NORECOVERY ]

Notes

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

Important

Lorsque vous restaurez une sauvegarde de base de données sur une instance de serveur différente, consultez Copie de bases de données avec la sauvegarde et la restauration et Gestion des métadonnées lors de la mise à disposition d'une base de données sur une autre instance de serveur.

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

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

RESTORE DATABASE database_name FROM backup_device WITH RECOVERY

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

Prise en charge des sauvegardes dans les versions précédentes de SQL Server

Dans SQL Server 2008, vous pouvez restaurer une sauvegarde de base de données créée à l'aide de SQL Server 2000, SQL Server 2005 ou SQL Server 2008. Cependant, les sauvegardes des bases de données master, model et msdb créées avec SQL Server 2000 ou SQL Server 2005 ne peuvent pas être restaurées par SQL Server 2008. Par ailleurs, les sauvegardes SQL Server 2008 ne peuvent pas être restaurées par les versions antérieures de SQL Server.

SQL Server 2008 utilise un chemin d'accès par défaut différent de celui des versions précédentes. Par conséquent, pour restaurer une base de données créée dans l'emplacement par défaut des sauvegardes SQL Server 2000 ou SQL Server 2005, vous devez utiliser l'option MOVE. Pour plus d'informations sur le nouveau chemin par défaut, consultez Emplacements des fichiers pour les instances par défaut et les instances nommées de SQL Server.

Notes

Pour plus d'informations sur la façon de mettre à niveau une base de données créée à l'aide de SQL Server 7.0 ou d'une version antérieure vers SQL Server 2005, consultez Copie de bases de données à partir de SQL Server 7.0 ou de versions antérieures.