DESAFIO DO GORDO – Como funciona o backup diferencial?

Galera,

Neste novo DESAFIO DO GORDO quero desafiá-los com uma pergunta sobre backup.

Quero saber como o SQL Server consegue identificar quais foram as páginas de dados alteradas desde o último backup full e que precisam ser gravadas no backup diferencial?

Não esqueçam também que nesta quinta-feira (24/03), à partir das 19:00, teremos mais uma reunião do SQLManiacs.

A reunião ocorrerá novamente na DoMore que fica localizada na Avenida Paulista, 807 – 18º andar e o tema será Entendendo aplicabilidade do Big Data e Data Science em cenários reais.

Espero a participação de todos em mais este desafio e também na reunião.

Aproveite também para inscrever-se no blog, no canal do youtube e no grupo de discussão SQLManiacs.

Grande abraço a todos.

Anúncios
  1. 24/03/2016 às 8:29

    Opa Vitão!

    Nas palavras de Paul Randal:

    “In every 4GB section (called a GAM interval) of every data file there is a special database page called a differential bitmap that tracks which portions (called extents) of that 4GB section have changed since the last full backup, indicating data that has changed or been added to the database. (There are several other allocation bitmaps, too, and you can find more information about these in my blog article “Inside The Storage Engine: GAM, SGAM, PFS and other allocation maps”).

    A differential backup scans through these bitmaps and only backs up the data file extents that are marked as changed. The bitmaps are reset by the next full backup, so you can see that as more and more of the database changes, more of it will be marked in the differential bitmaps and successive differential backups will be larger and larger. Eventually, if most of the database has changed, a differential backup may become as large as the full backup”

    Resumindo, é através de uma página especial chamada de bitmap diferencial que “rastreia” quais porções de cada seção de 4GB mudaram desde o último backup, indicando assim os dados que foram alterados e/ou adicionados no banco.

    Fontes:

    https://technet.microsoft.com/en-us/magazine/2009.07.sqlbackup.aspx
    https://technet.microsoft.com/pt-br/library/ms345448(v=sql.105).aspx

  2. Anderson
    24/03/2016 às 10:30

    Grande Vitor!

    Tudo bem com você? Eu havia estudado um pouco através do livro SQL Server Backup and Restore do Shawn McGehee e pelo que entendi; a identificação das paginas alteradas desde o ultimo backup full é realizada através de bitmap page,
    que contem 1 bit para cada extent, onde cada extent atualizado desde o ultimo backup full, o bit é definido como 1 no bitmap.

  3. 24/03/2016 às 13:16

    Grande Fava,

    IMHO, acredito ser da seguinte forma:

    Existe uma página de controle chamda DCM (Differential Change Map) que faz o tracking das alterações em páginas, marcando com “alterado” os extents que estas páginas pertencem, conforme exemplo abaixo, que mostra que no arquivo 1, página de dados com page_id = 64 foi alterada.

    (1:0) – (1:16) = CHANGED
    (1:24) – (1:56) = NOT CHANGED
    (1:64) – = CHANGED
    (1:72) – (1:80) = NOT CHANGED
    (1:88) – (1:96) = CHANGED

    quando é submetido um backup diferencial, a engine do sql server lê a DCM e copia somente os extents que estão relacionados nesta página, ou seja, aqueles que tiveram pelo menos uma página de dados alterada.

    já o backup full, tem como um dos passos, a limpeza da DCM, dando início a um novo ciclo para o backup diferencial, passando este a ser a referência para os pŕoximos backups diferenciais, até que seja realizado outro backup full.

    Grande abraço,

    Edvaldo Castro
    http://edvaldocastro.com

  1. 24/03/2016 às 1:04
  2. 24/03/2016 às 2:51
  3. 05/05/2016 às 0:01

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: