Procédure : restaurer dans le temps (Transact-SQL)

Cette rubrique explique comment restaurer une sauvegarde dans le temps.

Pour restaurer à un point précis dans le temps

  1. Exécutez l'instruction RESTORE DATABASE à l'aide de l'option NORECOVERY.

  2. Exécutez l'instruction RESTORE LOG pour l'appliquer à chaque sauvegarde du journal, en spécifiant :

    • Le nom de la base de données à laquelle est appliqué le journal des transactions.
    • L’unité de sauvegarde à partir de laquelle est restaurée la sauvegarde du journal des transactions.
    • Options RECOVERY et STOPAT. Si la sauvegarde du journal des transactions ne contient pas l'heure demandée (par exemple, si l'heure spécifiée dépasse la dernière heure figurant dans le journal des transactions), un avertissement est émis et la base de données n'est pas restaurée.

Exemple

L'exemple suivant restaure la base de donnéesAdventureWorks dans son état du 12:00 AM on April 15, 2005. La séquence de restauration installe une sauvegarde de base de données complète à l'aide de l'option NORECOVERY et applique trois sauvegardes de journaux en spécifiant les options RECOVERY et STOPAT dans chaque instruction RESTORE LOG. L'unité de sauvegarde est une unité de sauvegarde logique intitulée AdventureWorksBackups.

ms179451.note(fr-fr,SQL.90).gifImportant :
La base de données AdventureWorks utilise le mode de récupération simple. Afin de permettre des sauvegardes du journal avant de procéder à une sauvegarde complète de la base de données, cette dernière a été définie pour l'utilisation du mode de restauration complète avec ALTER DATABASE AdventureWorks SET RECOVERY FULL.
-- Restore the full database backup.
RESTORE DATABASE AdventureWorks
   FROM AdventureWorksBackups 
   WITH NORECOVERY;
GO
RESTORE LOG AdventureWorks
   FROM AdventureWorksBackups
   WITH RECOVERY, STOPAT = 'Apr 15, 2005 12:00 AM';
GO
RESTORE LOG AdventureWorks
   FROM AdventureWorksBackups
   WITH RECOVERY, STOPAT = 'Apr 15, 2005 12:00 AM';
GO
RESTORE LOG AdventureWorks
   FROM AdventureWorksBackups
   WITH RECOVERY, STOPAT = 'Apr 15, 2005 12:00 AM';
   GO 

Voir aussi

Concepts

Récupération limitée dans le temps

Autres ressources

RESTORE (Transact-SQL)
RESTORE HEADERONLY (Transact-SQL)

Aide et Informations

Assistance sur SQL Server 2005