Exemple : restauration fragmentaire d’une base de données (mode de restauration complète)
S’applique à : SQL Server
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 la fin du journal 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 la fin du journal.
Sauvegarde de la fin du journal
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 de la fin du journal requiert l'utilisation de l'option NO_TRUNCATE :
BACKUP LOG adb TO tailLogBackup WITH NORECOVERY, NO_TRUNCATE
La sauvegarde de la fin du journal est la dernière sauvegarde appliquée dans les séquences de restauration qui suivent.
Séquences de restauration
Remarque
La syntaxe pour une séquence de restauration en ligne est la même que pour une séquence de restauration hors connexion.
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 log_backup3 WITH NORECOVERY RESTORE LOG adb FROM log_backup4 WITH NORECOVERY RESTORE LOG adb FROM log_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 secondaire
A
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 instruction
RESTORE 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 fichiers
C
:RESTORE DATABASE adb FILEGROUP='C' FROM backup2a WITH NORECOVERY RESTORE LOG adb FROM log_backup3 WITH NORECOVERY RESTORE LOG adb FROM log_backup4 WITH NORECOVERY RESTORE LOG adb FROM log_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 fichiers B
. La sauvegarde du groupe de fichiers B
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 maintenant en ligne.
Autres exemples
Exemple : restauration fragmentaire d’une base de données (mode de récupération simple)
Exemple : restauration en ligne d’un fichier en lecture seule (mode de récupération simple)
Exemple : restauration fragmentaire de quelques groupes de fichiers (mode de restauration complète)
Exemple : restauration en ligne d’un fichier en lecture/écriture (mode de récupération complète)
Exemple : restauration en ligne d’un fichier en lecture seule (mode de restauration complète)
Voir aussi
BACKUP (Transact-SQL)
Restauration en ligne (SQL Server)
Appliquer les sauvegardes du journal de transactions (SQL Server)
RESTORE (Transact-SQL)
Restaurations fragmentaires (SQL Server)