Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Cette rubrique explique comment effectuer une restauration jusqu’au point de défaillance. La rubrique s’applique uniquement aux bases de données qui utilisent les modèles de récupération complètes ou journalisées en bloc.
Pour restaurer jusqu’au point de défaillance
Sauvegardez la fin du journal en exécutant l’instruction BACKUP de base suivante :
BACKUP LOG <database_name> TO <backup_device> WITH NORECOVERY, NO_TRUNCATE;Restaurez une sauvegarde complète de base de données en exécutant l’instruction RESTORE DATABASE de base suivante :
RESTORE DATABASE <database_name> FROM <backup_device> WITH NORECOVERY;Si vous le souhaitez, restaurez une sauvegarde différentielle de base de données en exécutant l’instruction RESTORE DATABASE de base suivante :
RESTORE DATABASE <database_name> FROM <backup_device> WITH NORECOVERY;Appliquez chaque journal des transactions, y compris la sauvegarde du journal final que vous avez créée à l’étape 1, en spécifiant WITH NORECOVERY dans l’instruction RESTORE LOG :
RESTORE LOG <database_name> FROM <backup_device> WITH NORECOVERY;Récupérez la base de données en exécutant l’instruction RESTORE DATABASE suivante :
RESTORE DATABASE <database_name> WITH RECOVERY;
Exemple :
Avant de pouvoir exécuter l’exemple, vous devez effectuer les préparations suivantes :
Le modèle de récupération par défaut de la base de données AdventureWorks2012 est le modèle de récupération simple. Étant donné que ce modèle de récupération ne prend pas en charge la restauration au point d’un échec, définissez AdventureWorks2012 pour utiliser le modèle de récupération complet en exécutant l’instruction ALTER DATABASE suivante :
USE master; GO ALTER DATABASE AdventureWorks2012 SET RECOVERY FULL;Créez une sauvegarde complète de la base de données à l’aide de l’instruction BACKUP suivante :
BACKUP DATABASE AdventureWorks2012 TO DISK = 'C:\AdventureWorks2012_Data.bck';Créez une sauvegarde de journal de routine :
BACKUP LOG AdventureWorks2012 TO DISK = 'C:\AdventureWorks2012_Log.bck';
L’exemple suivant restaure les sauvegardes créées précédemment, après avoir créé une sauvegarde de la fin du journal de la base de données AdventureWorks2012. (Cette étape part du principe que le disque du journal est accessible.)
Tout d’abord, l’exemple crée une sauvegarde de fin de journal de la base de données qui capture le journal actif et laisse la base de données dans l’état de restauration. Ensuite, l’exemple restaure la sauvegarde de base de données, applique la sauvegarde de routine du journal créée précédemment et applique la sauvegarde de queue de journal. Enfin, l’exemple récupère la base de données dans une étape distincte.
Remarque
Le comportement par défaut consiste à récupérer une base de données dans le cadre de l’instruction qui restaure la sauvegarde finale.
/* Example of restoring a to the point of failure */
-- Step 1: Create a tail-log backup by using WITH NORECOVERY.
BACKUP LOG AdventureWorks2012
TO DISK = 'C:\AdventureWorks2012_Log.bck'
WITH NORECOVERY;
GO
-- Step 2: Restore the full database backup.
RESTORE DATABASE AdventureWorks2012
FROM DISK = 'C:\AdventureWorks2012_Data.bck'
WITH NORECOVERY;
GO
-- Step 3: Restore the first transaction log backup.
RESTORE LOG AdventureWorks2012
FROM DISK = 'C:\AdventureWorks2012_Log.bck'
WITH NORECOVERY;
GO
-- Step 4: Restore the tail-log backup.
RESTORE LOG AdventureWorks2012
FROM DISK = 'C:\AdventureWorks2012_Log.bck'
WITH NORECOVERY;
GO
-- Step 5: Recover the database.
RESTORE DATABASE AdventureWorks2012
WITH RECOVERY;
GO