Backups diferenciais (SQL Server)Differential Backups (SQL Server)

Aplica-se a:Applies to: simSQL ServerSQL Server (todas as versões compatíveis) yesSQL ServerSQL Server (all supported versions) Aplica-se a:Applies to: simSQL ServerSQL Server (todas as versões compatíveis) yesSQL ServerSQL Server (all supported versions)

Este tópico de backup e restauração é relevante para todos os bancos de dados do SQL ServerSQL Server .This backup and restore topic is relevant for all SQL ServerSQL Server databases.

Um backup diferencial é baseado no backup de dados completo anterior mais recente.A differential backup is based on the most recent, previous full data backup. Um backup diferencial captura apenas os dados que foram alterados desde o backup completo.A differential backup captures only the data that has changed since that full backup. O backup completo no qual um backup diferencial se baseia é conhecido como a base do diferencial.The full backup upon which a differential backup is based is known as the base of the differential. Os backups completos, com exceção dos backups somente cópia, podem servir como base para uma série de backups diferenciais, inclusive backups de banco de dados, backups parciais e backups de arquivo.Full backups, except for copy-only backups, can serve as the base for a series of differential backups, including database backups, partial backups, and file backups. O backup de base para um backup diferencial de arquivo pode ser contido dentro de um backup completo, um backup de arquivo ou um backup parcial.The base backup for a file differential backup can be contained within a full backup, a file backup, or a partial backup.

BenefíciosBenefits

  • A criação de um backup diferencial pode ser muito rápida se comparada à criação de um backup completo.Creating a differential backups can be very fast compared to creating a full backup. Um backup diferencial registra apenas os dados que mudaram desde o backup completo no qual se baseia o backup diferencial.A differential backup records only the data that has changed since the full backup upon the differential backup is based. Isso facilita os backups de dados frequentes, o que diminui o risco de perda de dados.This facilitates taking frequent data backups, which decrease the risk of data loss. No entanto, antes de restaurar um backup diferencial, é necessário restaurar sua base.However, before you restore a differential backup, you must restore its base. Portanto, a restauração de um backup diferencial precisará, necessariamente, de mais etapas e mais tempo do que a restauração de um backup completo, pois serão necessários dois arquivos de backup.Therefore restoring from a differential backup will necessarily take more steps and time than restoring from a full backup because two backup files are required.

  • Backups de banco de dados de diferencial são especialmente úteis se um subconjunto de um banco de dados é modificado mais frequentemente do que o restante do banco de dados.Differential database backups are especially useful if a subset of a database is modified more frequently than the rest of the database. Nesses casos, backups de banco de dados de diferencial lhe permitem fazer backup frequentemente sem a sobrecarga de backups de banco de dados completos.In these cases, differential database backups enable you back up frequently without the overhead of full database backups.

  • No modelo de recuperação completa, o uso de backups diferenciais pode reduzir o número de backups de log que você precisa restaurar.Under the full recovery model, using differential backups can reduce the number of log backups that you have to restore.

Visão geral dos backups diferenciaisOverview of Differential Backups

Um backup diferencial captura o estado de qualquer extensão (coleções de oito páginas fisicamente contíguas) que foi alterada entre quando a base diferencial foi criada e quando o backup diferencial é criado.A differential backup captures the state of any extents (collections of eight physically contiguous pages) that have changed between when the differential base was created and the when differential backup is created. Isso significa que o tamanho de um backup diferencial depende da quantidade de dados alterada desde a base.This means that the size of a given differential backup depends on the amount of data that has changed since the base. Em geral, quanto mais antiga a base, maior será o novo backup diferencial.Generally, the older a base is, the larger a new differential backup will be. Em uma série de backups diferenciais, é provável que uma extensão atualizada com frequência contenha dados diferentes em cada backup diferencial.In a series of differential backups, a frequently updated extent is likely to contain different data in each differential backup.

A ilustração a seguir mostra como funciona um backup diferencial.The following illustration shows how a differential backup works. A figura exibe 24 extensões de dados, dentre as quais 6 que foram alteradas.The figure shows 24 data extents, 6 of which have changed. O backup diferencial contém somente estas 6 extensões de dados.The differential backup contains only these 6 data extents. A operação de backup diferencial baseia-se em uma página de bitmap que contém um bit para cada extensão.The differential backup operation relies on a bitmap page that contains a bit for every extent. Para cada extensão atualizada desde a base, o bit é definido para 1 no bitmap.For each extent updated since the base, the bit is set to 1 in the bitmap.

O bitmap diferencial identifica as extensões alteradasDifferential bitmap identifies changed extents

Observação

O bitmap diferencial não é atualizado por um backup do tipo somente cópia.The differential bitmap is not updated by a copy-only backup. Assim, um backup do tipo somente cópia não afeta os backups diferenciais subsequentes.Therefore, a copy-only backup does not affect subsequent differential backups.

Um backup diferencial executado logo depois de sua base é, em geral, significativamente menor do que a base diferencial.A differential backup that is taken fairly soon after its base is usually significantly smaller than the differential base. Isto economiza espaço de armazenamento e tempo de backup.This saves storage space and backup time. 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.However, as a database changes over time, the difference between the database and a specific differential base increases. Quanto maior o tempo entre um backup diferencial e sua base, maior será o tamanho do backup diferencial.The longer the time between a differential backup and its base, the larger the differential backup is likely to be. Isto significa que os backups diferenciais podem por fim se aproximar do tamanho da base diferencial.This means that the differential backups can eventually approach the differential base in size. Um backup diferencial grande perde as vantagens de um backup mais rápido e menor.A large differential backup loses the advantages of a faster and smaller backup.

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.As the differential backups increase in size, restoring a differential backup can significantly increase the time that is required to restore a database. Por isso, recomendamos que você use um backup completo novo em intervalos definidos para estabelecer uma nova base diferencial para os dados.Therefore, we recommend that you take a new full backup at set intervals to establish a new differential base for the data. 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.For example, you might take a weekly full backup of the whole database (that is, a full database backup) followed by a regular series of differential database backups during the week.

No momento da restauração, antes de você restaurar um backup diferencial, você deve restaurar sua base.At restore time, before you restore a differential backup, you must restore its 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.Then, restore only the most recent differential backup to bring the database forward to the time when that differential backup was created. Normalmente, você restauraria o backup completo mais recente seguido pelo backup diferencial mais recente que é baseado nesse backup completo.Typically, you would restore the most recent full backup followed by the most recent differential backup that is based on that full backup.

Backups diferenciais de bancos de dados com tabelas com otimização de memóriaDifferential Backups of Databases with Memory-Optimized Tables

Para obter informações sobre backups diferenciais e bancos de dados com tabelas com otimização de memória, consulte Fazendo backup de um banco de dados com tabelas com otimização de memória.For information about differential backups and databases with memory-optimized tables, see Backing Up a Database with Memory-Optimized Tables.

Backups diferenciais de bancos de dados somente leituraDifferential Backups of Read-Only Databases

Para bancos de dados somente leitura, os backups completos usados isoladamente são mais fáceis de serem gerenciados do que os usados com backups diferenciais.For read-only databases, full backups used alone are easier to manage than when they are used with differential backups. Quando um banco de dados for somente de leitura, o backup e outras operações não podem alterar os metadados que estão contidos no arquivo.When a database is read-only, backup and other operations cannot change the metadata that is contained in the file. Portanto, os metadados exigidos por um backup diferencial, como o número de sequência de log no qual o backup diferencial começa (o LSN base diferencial), é armazenado no banco de dados mestre .Therefore, metadata that is required by a differential backup, such as the log sequence number at which the differential backup begins (the differential base LSN) is stored in the master database. Se a base diferencial for tomada quando o banco de dados for somente de leitura, o bitmap diferencial indicará mais alterações do que as ocorridas, de fato, desde o backup de base.If the differential base is taken when the database is read-only, the differential bitmap indicates more changes than have actually occurred since the base backup. Os dados extras são lidos pelo backup, mas não são gravados no backup, porque o differential_base_lsn armazenado na tabela do sistema conjunto de backup é usado para determinar se os dados realmente foram alterados desde a base.The extra data is read by backup, but is not written to the backup, because the differential_base_lsn stored in the backupset system table is used to determine whether the data has actually changed since the base.

Quando um banco de dados somente leitura é recriado, restaurado ou desanexado e anexado, as informações básicas diferenciais são perdidas.When a read-only database is rebuilt, restored, or detached and attached, the differential-base information is lost. Isso ocorre porque o banco de dados mestre não é sincronizado com o banco de dados de usuário.This occurs because the master database is not synchronized with the user database. O Mecanismo de Banco de Dados do SQL ServerSQL Server Database Engine não pode detectar nem prevenir esse problema.The Mecanismo de Banco de Dados do SQL ServerSQL Server Database Engine cannot detect or prevent this problem. Nenhum backup diferencial posterior tem base no backup completo mais recente e pode fornecer resultados inesperados.Any later differential backups are not based on the most recent full backup and could provide unexpected results. Para estabelecer uma nova base diferencial, recomendamos que você crie um backup de banco de dados completo.To establish a new differential base, we recommend that you create a full database backup.

Práticas recomendadas para usar backups diferenciais com um banco de dados somente leitura.Best Practices for Using Differential Backups with a Read-Only Database

Após criar o backup completo de um banco de dados somente leitura, se você pretende criar um backup diferencial subsequente, faça backup do banco de dados mestre .After you create a full database backup of a read-only database, if you intend to create a subsequent differential backup, back up the master database.

Se o banco de dados mestre foi perdido, restaure-o antes de restaurar o backup diferencial de um banco de dados de usuário.If the master database is lost, restore it before you restore any differential backup of a user database.

Se você desanexar e anexar um banco de dados somente leitura para o qual planeja fazer backups diferenciais para uso posterior, assim que for possível, faça um backup completo do banco de dados somente leitura e do banco de dados mestre .If you detach and attach a read-only database for which you plan to later use differential backups, as soon as it is practical, take a full database backup of both the read-only database and of the master database.

Consulte TambémSee Also

Visão geral do backup (SQL Server) Backup Overview (SQL Server)
Backups de bancos de dados completos (SQL Server) Full Database Backups (SQL Server)
Restaurações completas de banco de dados (Modelo de recuperação completa) Complete Database Restores (Full Recovery Model)
Restaurações completas de banco de dados (Modelo de recuperação simples#41; Complete Database Restores (Simple Recovery Model)
Backups de log de transações (SQL Server)Transaction Log Backups (SQL Server)