Partager via


Exemple : Restauration fragmentaire de la base de données (mode de récupération complète)

Une séquence de restauration fragmentaire restaure et récupère une base de données en phases au niveau du groupe de fichiers, en commençant par le groupe de fichiers principal et tous les groupes de fichiers secondaires en lecture-écriture.

Dans cet exemple, la base de données adb est restaurée sur un nouvel ordinateur après un sinistre. La base de données utilise le modèle de récupération complète ; par conséquent, avant que la restauration ne commence, une sauvegarde du journal des transactions doit être effectuée. Avant le sinistre, tous les groupes de fichiers sont en ligne. Le groupe B de fichiers est en lecture seule. Tous les groupes de fichiers secondaires doivent être restaurés, mais ils sont restaurés dans l’ordre d’importance : A (le plus élevé), Cet enfin B. Dans cet exemple, il y a quatre sauvegardes de journaux, y compris la sauvegarde finale du journal.

Sauvegarde Tail-Log

Avant de restaurer la base de données, l’administrateur de base de données doit sauvegarder la fin du journal. Puisque la base de données est endommagée, la création de la sauvegarde du journal des transactions nécessite l’utilisation de l’option NO_TRUNCATE :

BACKUP LOG adb TO tailLogBackup WITH NORECOVERY, NO_TRUNCATE  

La sauvegarde du journal final est la dernière sauvegarde appliquée dans les séquences de restauration suivantes.

Séquences de restauration

Remarque

La syntaxe d’une séquence de restauration en ligne est la même que pour une séquence de restauration hors connexion.

  1. Restauration partielle du groupe Ade fichiers principal et secondaire .

    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  
    
  2. Restauration en ligne du groupe Cde fichiers .

    À ce stade, le groupe de fichiers principal et le groupe A de fichiers secondaire sont en ligne. Tous les fichiers dans les B groupes de fichiers et C sont en attente de récupération, et les groupes de fichiers sont hors connexion.

    Les messages de la dernière RESTORE LOG instruction de l’étape 1 indiquent que la restauration des transactions impliquant le groupe C de fichiers a été différée, car ce groupe de fichiers n’est pas disponible. Les opérations régulières peuvent continuer, mais les verrous sont détenus par ces transactions et la troncation du journal ne se produira pas tant que l'annulation ne sera pas terminée.

    Dans la deuxième séquence de restauration, l’administrateur de base de données restaure le groupe Cde fichiers :

    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, les groupes A de fichiers et principaux et C sont en ligne. Les fichiers du groupe B de fichiers restent en attente de récupération, avec le groupe de fichiers hors connexion. Les transactions différées ont été résolues et la troncation du journal est effectuée.

  3. Restauration en ligne du groupe Bde fichiers .

    Dans la troisième séquence de restauration, l’administrateur de base de données restaure le groupe Bde fichiers . La sauvegarde du groupe B de fichiers a été effectuée après que le groupe de fichiers est devenu en lecture seule ; par conséquent, il n’est pas nécessaire de le faire avant pendant la récupération.

    RESTORE DATABASE adb FILEGROUP='B' FROM backup2b WITH RECOVERY  
    

    Tous les groupes de fichiers sont désormais en ligne.

Exemples supplémentaires

Voir aussi

BACKUP (Transact-SQL)
Restauration en ligne (SQL Server)
Appliquer des sauvegardes de journal des transactions (SQL Server)
RESTORE (Transact-SQL)
Restaurations partielles (SQL Server)