Como os backups diferenciais funcionam

Este tópico é relevante para todos os tipos de bancos de dados.

Um backup diferencial é baseado no backup completo anterior mais recente. Isto é conhecido como a base do diferencial. Um backup diferencial inclui somente os dados alterados desde a differential base.

O tamanho de um backup diferencial depende da quantidade de dados alterados desde a base. Em geral, quanto mais velha a base, maior será o novo backup diferencial. Um backup diferencial específico captura o estado de extensões alteradas no momento em que o backup é criado. Se você criar uma série de backups diferenciais, é provável que uma extensão atualizada com freqüência contenha dados diferentes em cada diferencial. Como os backups diferenciais aumentam em tamanho, a restauração de um backup diferencial pode aumentar de forma significativa o tempo necessário para restaurar um banco de dados. Por isso, recomendamos que você use um backup completo novo em intervalos definidos para estabelecer uma nova base diferencial para os dados. Por exemplo, você poderia usar um backup completo semanal de todo o banco de dados (isto é, um backup completo do banco de dados) seguido de uma série regular de backups diferenciais do banco de dados durante a semana.

A ilustração a seguir mostra como funciona um backup diferencial. A figura exibe 24 extensões de dados, dentre as quais 6 que foram alteradas. O backup diferencial contém somente estas 6 extensões de dados. A operação de backup diferencial baseia-se em uma página de bitmap que contém um bit para cada extensão. Para cada extensão atualizada desde a base, o bit é definido para 1 no bitmap.

O bitmap diferencial identifica extensões alteradas

ObservaçãoObservação

O bitmap diferencial não é atualizado por um backup do tipo somente cópia. Sendo assim, um backup do tipo somente cópia não pode servir como uma base diferencial ou backup diferencial. Um backup do tipo somente cópia não afeta os backups diferenciais subseqüentes.

Um backup diferencial executado logo depois de sua base é, em geral, significativamente menor do que a base diferencial. Isto economiza espaço de armazenamento e tempo de backup. Porém, como o banco de dados é alterado com o passar do tempo, a diferença entre o banco de dados e uma base diferencial específica aumenta. Quanto maior o tempo entre um backup diferencial e sua base, maior será o tamanho do backup diferencial. Isto significa que os backups diferenciais podem por fim se aproximar do tamanho da base diferencial. Um backup diferencial grande perde as vantagens de um backup mais rápido e menor.

No momento da restauração, antes de você restaurar um backup diferencial, você deve restaurar sua base. Em seguida, restaure somente o backup diferencial mais recente para avançar o banco de dados até o momento em que foi criado esse backup diferencial. Normalmente, você restauraria o backup completo mais recente seguido pelo backup diferencial mais recente que é baseado nesse backup completo.

Quando você cria e restaura backups diferenciais, o SQL Server trata o banco de dados como um conjunto de arquivos. Isto afeta o conteúdo dos backups diferenciais e como eles são usados em conjunto com backups de banco de dados e de arquivos. O Mecanismo de banco de dados do SQL Server é projetado para controlar as situações comuns com facilidade e sem qualquer comportamento inesperado.

Para obter mais informações, consulte Base de um backup diferencial.