Procédure : restauration de fichiers à un nouvel emplacement (Transact-SQL)

Cette rubrique explique comment restaurer des fichiers à un nouvel emplacement.

Important

L'administrateur système qui restaure les fichiers doit être la seule personne à utiliser la base de données au moment de la restauration.

Pour restaurer les fichiers à un nouvel emplacement

  1. Exécutez éventuellement l'instruction RESTORE FILELISTONLY pour déterminer le nombre de fichiers et les noms des fichiers dans la sauvegarde complète de la base de données.

  2. Exécutez l'instruction RESTORE DATABASE pour restaurer la sauvegarde complète de la base de données, en spécifiant :

    • le nom de la base de données à restaurer ;

    • l'unité de sauvegarde à partir de laquelle sera restaurée la sauvegarde complète de la base de données ;

    • la clause MOVE de chaque fichier à restaurer au nouvel emplacement ;

    • la clause NORECOVERY.

  3. Si les fichiers ont été modifiés depuis la création de la sauvegarde du fichier, exécutez l'instruction RESTORE LOG pour appliquer la sauvegarde du journal des transactions, en spécifiant :

    • le nom de la base de données à laquelle sera appliqué le journal des transactions ;

    • l'unité de sauvegarde à partir de laquelle sera restaurée la sauvegarde du journal des transactions ;

    • la clause NORECOVERY si vous devez appliquer une autre sauvegarde du journal des transactions après la sauvegarde en cours. Dans les autres cas, spécifiez la clause RECOVERY.

      Les sauvegardes du journal des transactions, lorsqu’elles sont appliquées, doivent couvrir le temps de sauvegarde des fichiers et groupes de fichiers.

Exemple

L'exemple suivant restaure deux des fichiers pour la base de données MyNwind ; ces fichiers, à l'origine sur le lecteur C, sont placés dans de nouveaux emplacements sur le lecteur D. Deux journaux de transactions seront également appliqués pour restaurer la base de données à l'heure actuelle. L'instruction RESTORE FILELISTONLY permet de déterminer le nombre ainsi que les noms logique et physique des fichiers de la base de données en cours de restauration.

USE master
GO
-- First determine the number and names of the files in the backup.
RESTORE FILELISTONLY
   FROM MyNwind_1
-- Restore the files for MyNwind.
RESTORE DATABASE MyNwind
   FROM MyNwind_1
   WITH NORECOVERY,
   MOVE 'MyNwind_data_1' TO 'D:\MyData\MyNwind_data_1.mdf', 
   MOVE 'MyNwind_data_2' TO 'D:\MyData\MyNwind_data_2.ndf'
GO
-- Apply the first transaction log backup.
RESTORE LOG MyNwind
   FROM MyNwind_log1
   WITH NORECOVERY
GO
-- Apply the last transaction log backup.
RESTORE LOG MyNwind
   FROM MyNwind_log2
   WITH RECOVERY
GO