Exemple : Restauration fragmentaire d'une base de données (Mode de restauration complète)
Une séquence de restauration fragmentaire restaure et récupère une base de données par étape au niveau des groupes de fichiers, en commençant par le groupe de fichiers primaire, suivi des groupes fichiers secondaires en lecture-écriture.
Dans cet exemple, la base de données adb
est restaurée sur un nouvel ordinateur après un problème grave. La base de données utilise le mode de restauration complète ; par conséquent, avant le début de la restauration, il convient d'effectuer une sauvegarde de journal après défaillance sur la base de données. Avant le sinistre, tous les groupes de fichiers sont en ligne. Groupe de fichiers B
en lecture seule. Tous les groupes de fichiers secondaires doivent être restaurés, mais dans l'ordre de priorité suivant : A
(le plus élevé), C
, et enfin B
. Dans cet exemple, il y a quatre sauvegardes de journal, dont la sauvegarde de journal après défaillance.
Sauvegarde de fichier journal après défaillance
Avant de restaurer la base de données, l'administrateur de la base de données doit sauvegarder la fin du journal. La base de données étant endommagée, la création de la sauvegarde du journal après défaillance requiert l'utilisation de l'option NO_TRUNCATE :
BACKUP LOG adb TO tailLogBackup WITH NORECOVERY, NO_TRUNCATE
La sauvegarde de fichier journal après défaillance est la dernière sauvegarde appliquée dans les séquences de restauration qui suivent.
Séquences de restauration
Restauration partielle du groupe de fichiers primaire et secondaire
A
.RESTORE DATABASE adb FILEGROUP='Primary' FROM backup1 WITH PARTIAL, NORECOVERY RESTORE DATABASE adb FILEGROUP='A' FROM backup2 WITH NORECOVERY RESTORE LOG adb FROM backup3 WITH NORECOVERY RESTORE LOG adb FROM backup4 WITH NORECOVERY RESTORE LOG adb FROM backup5 WITH NORECOVERY RESTORE LOG adb FROM tailLogBackup WITH RECOVERY
Restauration en ligne du groupe de fichiers
C
.
À ce stade, le groupe de fichiers primaire et le groupe de fichiers secondaireA
sont en ligne. Tous les fichiers dans les groupes de fichiersB
etC
sont en attente de récupération, et les groupes de fichiers sont hors connexion.
Les messages de la dernière instructionRESTORE LOG
(étape 1) indiquent que la restauration des transactions impliquant le groupe de fichiersC
a été différée parce que ce groupe de fichiers n'est pas disponible. Les opérations courantes peuvent continuer, mais des verrous sont détenus par ces transactions et la troncation du fichier journal ne peut pas avoir lieu tant que la restauration n'est pas terminée.
Dans la deuxième séquence de restauration, l'administrateur de base de données restaure le groupe de fichiersC
:RESTORE DATABASE adb FILEGROUP='C' FROM backup2a WITH NORECOVERY RESTORE LOG adb FROM backup3 WITH NORECOVERY RESTORE LOG adb FROM backup4 WITH NORECOVERY RESTORE LOG adb FROM backup5 WITH NORECOVERY RESTORE LOG adb FROM tailLogBackup WITH RECOVERY
À ce stade, le groupe de fichiers primaire et les groupes de fichiers
A
etC
sont en ligne. Les fichiers du groupe de fichiersB
restent en attente de récupération et le groupe de fichiers est déconnecté. Les transactions différées ont été résolues et la troncation du fichier journal a lieu.Restauration en ligne du groupe de fichiers
B
.
Dans la troisième séquence de restauration, l'administrateur de base de données restaure le groupe de fichiersB
. La sauvegarde du groupe de fichiersB
a été effectuée après que le groupe de fichiers soit passé en lecture seule, ces fichiers n'ont donc pas besoin d'être restaurés par progression au cours de la récupération.RESTORE DATABASE adb FILEGROUP='B' FROM backup2b WITH RECOVERY
Tous les groupes de fichiers sont désormais en ligne.
Voir aussi
Concepts
Exemple : restauration fragmentaire d'une base de données (mode de récupération simple)
Application de sauvegardes du journal des transactions
Exécution d'une restauration fragmentaire
Autres ressources
BACKUP (Transact-SQL)
Exemples de séquences de restauration pour plusieurs scénarios de restauration
RESTORE (Transact-SQL)