Partager via


Suivi des extensions modifiées

SQL Server utilise deux structures de données internes pour suivre les extensions modifiées par les opérations de copie en bloc et les extensions modifiées depuis la dernière sauvegarde complète. Ces structures de données accélèrent considérablement les sauvegardes différentielles. Elles accélèrent également l'enregistrement des opérations de copie en bloc dans le journal lorsqu'une base de données utilise le mode de récupération utilisant les journaux de transactions. À l'instar des pages GAM (Global Allocation Map) et SGAM (Shared Global Allocation Map), ces structures sont des bitmaps où chaque bit représente une extension unique.

  • DCM (Differential Changed Map)

    Ces pages suivent les extensions qui ont été modifiées depuis la dernière instruction BACKUP DATABASE. Si le bit d'une extension est à 1, l'extension a été modifiée depuis la dernière instruction BACKUP DATABASE. Si le bit est à 0, l'extension n'a pas été modifiée.

    Les sauvegardes différentielles lisent uniquement les pages DCM pour déterminer les extensions qui ont été modifiées. Cela réduit considérablement le nombre de pages qu'une sauvegarde différentielle doit analyser. La durée d'exécution d'une sauvegarde différentielle est proportionnelle au nombre d'extensions modifiées depuis la dernière instruction BACKUP DATABASE, et non à la taille globale de la base de données.

  • BCM (Bulk Changed Map)

    Ces pages suivent les extensions qui ont été modifiées par des opérations journalisées en bloc depuis la dernière instruction BACKUP LOG. Si le bit d'une extension est à 1, l'extension a été modifiée par une opération journalisée en bloc après la dernière instruction BACKUP LOG. Si le bit est à 0, l'extension n'a pas été modifiée par les opérations journalisées en bloc.

    Bien que les pages BCM existent dans toutes les bases de données, elles sont uniquement significatives lorsque la base de données emploie le mode de récupération utilisant les journaux de transactions. Dans ce mode de récupération, lorsqu'une procédure BACKUP LOG est effectuée, le processus de sauvegarde analyse les pages BCM pour identifier les extensions qui ont été modifiées. Il inclut ensuite ces extensions dans la sauvegarde du journal. Ceci permet de récupérer les opérations journalisées en bloc si la base de données est restaurée à partir d'une sauvegarde de la base de données et d'une séquence de sauvegardes de journaux de transactions. Les pages BCM ne sont pas significatives dans une base de données qui utilise le mode de récupération simple, car aucune opération journalisée en bloc n'est enregistrée dans le journal. Elles ne sont pas significatives dans une base de données utilisant le mode de récupération complet puisque ce dernier traite les opérations journalisées en bloc comme des opérations entièrement enregistrées dans le journal.

L'intervalle entre les pages DCM et les pages BCM est le même que l'intervalle entre les pages GAM et SGAM : 64 000 extensions. Les pages DCM et BCM sont situées juste derrière les pages GAM et SGAM dans un fichier physique :

Pages de mappage de modification différentielle et de mappage modifié en bloc