Crie um backup diferencial de banco de dados (SQL Server)

Aplica-se a:SQL Server

Este artigo descreve como criar um backup diferencial de banco de dados no SQL Server usando SQL Server Management Studio, Transact-SQL ou PowerShell.

Para uma visão geral dos conceitos e tarefas de backup, veja Visão geral de Backup (SQL Server).

Pré-requisitos

Um backup diferencial de banco de dados requer um backup completo de banco de dados anterior. Se o banco de dados não tiver um, faça um backup completo do banco de dados primeiro. Para obter mais informações, consulte Criar um backup completo do banco de dados.

Recomendações

Como os backups diferenciais aumentam de tamanho ao longo do tempo, restaurar um backup diferencial pode estender significativamente o tempo para restaurar um banco de dados. Faça um novo backup completo em intervalos definidos para estabelecer uma nova base diferencial.

Por exemplo, você pode fazer um backup semanal completo do banco de dados, seguido de backups diferenciais diários durante a semana.

Limitations

Você não pode usar a instrução BACKUP em uma transação explícita ou implícita.

Permissions

As permissões BACKUP DATABASE e BACKUP LOG são concedidas por padrão aos membros da função de servidor fixa sysadmin e das funções de banco de dados fixas db_owner e db_backupoperator.

A conta do serviço SQL Server deve ter permissões de leitura e gravação no arquivo físico do dispositivo de backup. Problemas de propriedade ou permissão nesse arquivo impedem operações de backup e restauração, e só aparecem quando a operação de backup ou restauração é executada.

Por exemplo, o procedimento armazenado do sistema sp_addumpdevice , que adiciona uma entrada de dispositivo de backup às tabelas do sistema, não valida o acesso a arquivos.

Use SQL Server Management Studio.

  1. No Pesquisador de Objetos, conecte-se ao Mecanismo de Banco de Dados e então expanda a árvore de servidores.

  2. Expanda Bancos de Dados e então selecione um banco de dados de usuários. Ou, expanda os Bancos de Dados do Sistema e selecione um banco de dados do sistema.

  3. Clique com o botão direito do mouse no banco de dados, aponte para Tarefas e escolha Backup. Será exibida a caixa de diálogo Fazer Backup do Banco de Dados.

  4. Na lista suspensa Banco de Dados, verifique o nome do banco de dados. Opcionalmente, selecione um banco de dados diferente.

    Você pode realizar um backup diferencial usando qualquer modelo de recuperação (completo, bulk-logged ou simples).

  5. Na lista suspensa Tipo de backup, selecione Diferencial.

    Importante

    Ao selecionar Diferencial, certifique-se de que a caixa de seleção backup somente para cópia esteja desmarcada. Você não pode criar um backup diferencial em um backup completo só com cópia. Para obter mais informações, consulte backups de cópia apenas.

  6. Para o componente Backup, selecione Banco de Dados.

  7. Na caixa de texto Nome , aceite o nome padrão do conjunto de backup ou insira um novo.

  8. Opcionalmente, insira uma descrição na caixa de texto Descrição .

  9. Especifique quando o conjunto de backup expira:

    • Para expirar o conjunto de backup após um número específico de dias, selecione Depois (o padrão) e insira o número de dias. Os valores variam de 0 até 99999. Um valor de 0 significa que o conjunto de backup nunca expira.

      O valor padrão é definido na opção Retenção de mídia de backup padrão (em dias) na página de Configurações de Banco de Dados da caixa de diálogo Propriedades do Servidor . Para abri-lo, clique com o botão direito no nome do servidor no Pesquisador de Objetos, selecione Propriedades e depois selecione a página de Configurações do Banco de Dados.

    • Para definir a expiração do conjunto de backup em uma data específica, selecione Em e insira a data.

  10. Para o destino do backup, selecione Disco ou URL. Para somar até 64 unidades de disco para um único conjunto de mídia, selecione Adicionar. Os caminhos selecionados aparecem na lista suspensa Backup to.

    Para remover um destino de backup, selecione-o e clique em Remover. Para visualizar o conteúdo de um destino de backup, selecione-o e escolha Conteúdo.

    Observação

    Para obter mais informações sobre como fazer backup para URL, consulte Backup para URL do SQL Server para o Armazenamento de Blobs do Azure.

  11. Para visualizar ou selecionar as opções avançadas, escolha Opções no painel Selecionar uma página.

  12. Para Sobrescrever Mídia, selecione uma das seguintes opções:

    • Fazer backup para o conjunto de mídia existente

      Selecione Adicionar ao conjunto de backup existente ou Sobrescrever todos os conjuntos de backup existentes. Opcionalmente, marque a caixa de seleção Verificar nome do conjunto de mídia e expiração do conjunto de backup e insira um nome na caixa de texto Nome do conjunto de mídia.

      Se você não especificar um nome, o SQL Server cria o conjunto de mídia com um nome em branco. Se você especificar um nome, o SQL Server verifica a mídia para confirmar que o nome corresponde.

      Se você deixar o nome da mídia em branco e marcar a caixa de seleção, a verificação só será bem-sucedida se o nome da mídia também estiver em branco.

    • Fazer backup em um novo conjunto de mídias e apagar todos os conjuntos de backup existentes

      Insira um nome na caixa de texto Nome do novo conjunto de mídias. Opcionalmente, descreva o conjunto de mídia na caixa de texto de descrição do conjunto de novas mídias .

  13. Na seção Confiabilidade , selecione opcionalmente:

  14. SQL Server dá suporte à compactação de backup. Por padrão, o SQL Server comprime backups com base na opção de configuração do backup-compression default servidor. Independentemente do padrão em nível de servidor, selecione Comprimir backup para comprimir o backup, ou selecione Não comprimir backup para evitar compressão.

    Para exibir o padrão de compactação de backup atual, consulte a configuração do servidor: padrão de compactação de backup. Para mais informações sobre compressão de backup, veja Compressão de backup (SQL Server).

Observações

  • Você pode usar o Assistente de Plano de Manutenção para criar backups diferenciais de bancos de dados em vez disso.

  • As opções da seção de registro de transações estão inativas, a menos que você esteja fazendo backup de um log de transações. Especifique essa opção na seção Tipo de Backup da página Geral .

Utilizar Transact-SQL

Execute a BACKUP DATABASE instrução para criar o backup diferencial do banco de dados. Especificar:

  • O nome do banco de dados do qual fazer backup.

  • O dispositivo de backup em que o backup completo do banco de dados será gravado.

  • A DIFFERENTIAL cláusula para fazer backup apenas das partes do banco de dados que mudaram após o último backup completo do banco de dados.

Use a seguinte sintaxe:

BACKUP DATABASE database_nameTO< backup_device>WITH DIFFERENTIAL

Exemplo (Transact-SQL)

Os exemplos de código neste artigo usam o banco de dados de exemplo AdventureWorks2025 ou AdventureWorksDW2025, que você pode baixar na página inicial Microsoft SQL Server Samples and Community Projects.

-- Create a full database backup first.
BACKUP DATABASE AdventureWorks2025
    TO AdventureWorks2025_1
    WITH INIT;
GO

-- Time elapses.
-- Create a differential database backup, appending the backup
-- to the backup device containing the full database backup.
BACKUP DATABASE AdventureWorks2025
    TO AdventureWorks2025_1
    WITH DIFFERENTIAL;
GO

Observações

Para informações sobre como fazer backup em fita, veja BACKUP opções de fita e o exemplo de Backup para um dispositivo de fita em Criar um backup completo de banco de dados.

Observação

A opção TAPE será removida em uma versão futura do SQL Server. Evite usar esse recurso em desenvolvimentos novos e planeje modificar os aplicativos que atualmente o utilizam.

Usar PowerShell

Use o cmdlet Backup-SqlDatabase. Para especificar um backup diferencial de banco de dados, use o -Incremental parâmetro junto com -BackupAction Database.

Observação

Este exemplo exige o SqlServer módulo. Para obter mais informações, consulte SQL Server PowerShell Provider.

Exemplo (PowerShell)

O exemplo a seguir cria um backup diferencial do banco de AdventureWorks2025 dados para a localização padrão de backup da instância Computer\Instancedo servidor. Um backup completo do banco de dados já deve existir.

Para obter exemplos de sintaxe completa, consulte Backup-SqlDatabase.

$credential = Get-Credential

Backup-SqlDatabase -ServerInstance Computer[\Instance] -Database AdventureWorks2025 -BackupAction Database -Incremental -Credential $credential