Controlando extensões modificadas

O SQL Server usa duas estruturas de dados internas para controlar extensões modificadas por operações de cópia em massa e extensões modificadas desde o último backup completo. Essas estruturas de dados aceleram consideravelmente os backups diferenciais. Elas também aceleram o registro de operações de cópia em massa quando um banco de dados está usando o modelo de recuperação bulk logged. Como as páginas GAM (Global Alocação Map) e SGAM (Shared Global Allocation Map), essas estruturas são bitmaps em que cada bit representa uma única extensão.

  • Differential Changed Map (DCM)

    Controla as extensões que foram alteradas desde a última instrução BACKUP DATABASE. Se o bit de uma extensão for 1, a extensão foi modificada desde a última instrução BACKUP DATABASE. Se o bit for 0, a extensão não foi modificada.

    Os backups diferenciais lêem apenas as páginas DCM para determinar quais extensões foram modificadas. Isso reduz significativamente o número de páginas que um backup diferencial deve examinar. O tempo de execução de um backup diferencial é proporcional ao número de extensões modificadas desde a última instrução BACKUP DATABASE, e não ao tamanho geral do banco de dados.

  • Bulk Changed Map (BCM)

    Controla as extensões modificadas pelas operações registradas em massa desde a última instrução BACKUP LOG. Se o bit de uma extensão for 1, a extensão foi modificada por uma operação registrada em massa na última instrução BACKUP LOG. Se o bit for 0, a extensão não foi modificada pelas operações registradas em massa.

    Embora as páginas BCM sejam exibidas em todos os bancos de dados, elas serão relevantes apenas quando o banco de dados estiver usando o modelo de recuperação bulk-logged. Nesse modelo de recuperação, quando um BACKUP LOG é executado, o processo de backup examina os BCMs das extensões que foram modificadas. Depois, inclui essas extensões no backup de log. Isso permite que as operações registradas em massa sejam recuperadas se o banco de dados for restaurado de um backup de banco de dados e uma seqüência de backups de log de transações. As páginas BCM não são relevantes em um banco de dados que usa o modelo de recuperação simples, porque nenhuma operação registrada em massa está registrada. Elas não são relevantes em um banco de dados que usa o modelo de recuperação completo, porque o modelo de recuperação trata as operações com log em massa como operações registradas completas.

O intervalo entre as páginas DCM e BCM é o mesmo que o intervalo entre as páginas GAM e SGAM, 64.000 extensões. As páginas DCM e BCM estão localizadas atrás das páginas GAM e SGAM em um arquivo físico:

Páginas Mapa de Alteração Diferencial e Mapa Alterado em Massa