Partilhar via


Fazer backup do log de transações quando o banco de dados estiver danificado (SQL Server)

Aplica-se a:SQL Server

Este tópico descreve como fazer backup de um log de transações quando o banco de dados está danificado no SQL Server usando o SQL Server Management Studio ou o Transact-SQL.

Neste tópico

Antes de começar

Limitações e Restrições

  • A instrução BACKUP não é permitida numa transação explícita ou implícita.

Recomendações

  • Para um banco de dados que usa o modelo de recuperação completo ou bulk-logged, geralmente é necessário fazer backup da parte final do log antes de começar a restaurar o banco de dados. Você também deve fazer backup da parte final do log do banco de dados primário antes de fazer failover de uma configuração de envio de logs. Restaurar o backup de tail-log como o backup de log final antes de recuperar o banco de dados evita perda de trabalho após uma falha. Para obter mais informações sobre backups de tail-log, consulte Tail-Log Backups (SQL Server).

Segurança

Permissões

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

Problemas de propriedade e permissão no arquivo físico do dispositivo de backup podem interferir em uma operação de backup. O SQL Server deve ser capaz de ler e gravar no dispositivo; a conta sob a qual o serviço do SQL Server é executado deve ter permissões de gravação. No entanto, sp_addumpdevice, que adiciona uma entrada para um dispositivo de backup nas tabelas do sistema, não verifica as permissões de acesso ao arquivo. Esses problemas no arquivo físico do dispositivo de backup podem não aparecer até que o recurso físico seja acessado quando o backup ou restauração for tentado.

Usando o SQL Server Management Studio

Para fazer backup da parte final do log de transações

  1. Depois de se conectar à instância apropriada do Mecanismo de Banco de Dados do Microsoft SQL Server, no Pesquisador de Objetos, clique no nome do servidor para expandir a árvore do servidor.

  2. Expanda Bancos de Dadose, dependendo do banco de dados, selecione um banco de dados de usuário ou expanda Bancos de Dados do Sistema e selecione um banco de dados do sistema.

  3. Clique com o botão direito do rato na base de dados, aponte para Tarefase, em seguida, clique em Cópia de Segurança. A caixa de diálogo Banco de Dados de Backup é exibida.

  4. Na caixa de listagem de base de dados , verifique o nome do banco de dados. Opcionalmente, você pode selecionar um banco de dados diferente da lista.

  5. Verifique se o modelo de recuperação está COMPLETO ou BULK_LOGGED.

  6. Na caixa de listagem tipo de backup , selecione Registo de Transações.

  7. Deixe Apenas Cópia de Segurança desmarcada.

  8. Na área conjunto de backup, ou aceite o nome padrão do conjunto de backup sugerido na caixa de texto Nome ou introduza um nome diferente para o conjunto de backup.

  9. Na caixa de texto Descrição, insira uma descrição para o backup do tail-log.

  10. Especifique quando o conjunto de backup expirará:

    • Para que o conjunto de backup expire após um número específico de dias, clique em Após (a opção padrão) e insira o número de dias após a criação do conjunto que o conjunto expirará. Este valor pode ser de 0 a 99999 dias; Um valor de 0 dias significa que o conjunto de backup nunca expirará.

      O valor padrão é definido na opção Retenção de mídia de backup padrão (em dias) da caixa de diálogo Propriedades do Server (páginaConfigurações do Banco de Dados). Para acessar essa caixa de diálogo, clique com o botão direito do mouse no nome do servidor no Pesquisador de Objetos e selecione as propriedades; em seguida, selecione a página Configurações do Banco de Dados.

    • Para que o conjunto de backup expire em uma data específica, clique em Eme insira a data em que o conjunto expirará.

  11. Escolha o tipo de destino de backup clicando em de disco ou de fita . Para selecionar os caminhos de até 64 unidades de disco ou fita contendo um único conjunto de mídias, clique Adicionar. Os caminhos selecionados são exibidos na caixa de listagem Backup para.

    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 clique em Conteúdo.

  12. Na página de Opções , selecione uma opção Substituir ficheiro de media, clicando em uma das seguintes opções:

    • Backup para o conjunto de mídia existente

      Para esta opção, clique em Acrescentar ao conjunto de backup existente ou Sobrescrever todos os conjuntos de backup existentes.

      Opcionalmente, selecione Verificar nome e expiração do conjunto de mídia e backup para que a operação de backup verifique a data e a hora em que o conjunto de mídia e o conjunto de backup expiram.

      Opcionalmente, insira um nome na caixa de texto Nome do conjunto de mídia. Se nenhum nome for especificado, um conjunto de mídia com um nome em branco será criado. Se você especificar um nome de conjunto de mídia, a mídia (fita ou disco) será verificada para ver se o nome real corresponde ao nome inserido aqui.

      Se você deixar o nome da mídia em branco e marcar a caixa para verificá-la em relação à mídia, o êxito será igual ao nome da mídia na mídia também estar em branco.

    • Faça backup em um novo conjunto de mídia e apague todos os conjuntos de backup existentes

      Para essa opção, digite um nome na caixa de texto Novo nome do conjunto de mídia e, opcionalmente, descreva o conjunto de mídia na caixa de texto Descrição do novo conjunto de mídias.

    Para obter mais informações sobre opções de conjuntos de mídia, consulte conjuntos de mídia, famílias de mídia e conjuntos de backup (SQL Server).

  13. Na seção de confiabilidade, opcionalmente, verifique:

    • Verificar o backup quando concluído.

    • Realizar checksum antes de gravar na mídia.

    • Continue no erro de soma de verificação

    Para obter informações sobre somas de verificação, consulte Possíveis Erros de Mídia Durante o Backup e Restauro (SQL Server).

  14. Na seção log de transações, marque Fazer backup na parte final do log e deixe o banco de dados no estado de restauração.

    Isso equivale a especificar o seguinte instrução BACKUP:

    BACKUP LOG <database_name> TO <backup_device> WITH NORECOVERY

    Importante

    No momento da restauração, a caixa de diálogo Restaurar Banco de Dados exibe o tipo de backup de tail-log como Log de Transações (Somente Cópia).

  15. Se você estiver fazendo backup em uma unidade de fita (conforme especificado na seção de destino da página Geral do), a opção Descarregar a fita após o de backup estará ativa. Clicar nesta opção ativa a opção Rebobinar a fita antes de descarregar.

  16. O SQL Server 2008 (10.0.x) Enterprise e posterior oferece suporte à compactação de backup . Por padrão, se um backup é compactado depende do valor da opção de configuração padrão de compactação de backup do servidor . No entanto, independentemente do padrão atual no nível do servidor, você pode compactar um backup marcando Compactar backup, e pode impedir a compactação marcando Não compactar backup.

    Para visualizar o atual padrão de compactação de backup

Usando Transact-SQL

Para criar um backup do log de transações ativo no momento

  1. Execute a instrução BACKUP LOG para fazer backup do log de transações ativo no momento, especificando:

    • O nome do banco de dados ao qual pertence o log de transação a ser feito backup.

    • O dispositivo de backup no qual será gravado o backup do log de transações.

    • A cláusula NO_TRUNCATE.

      Esta cláusula permite fazer backup da parte ativa do log de transações mesmo que o banco de dados esteja inacessível, desde que o arquivo de log de transações esteja acessível e sem danos.

Exemplo (Transact-SQL)

Observação

Este exemplo usa o AdventureWorks2025, que usa o modelo de recuperação simples. Para permitir backups de log, antes de fazer um backup completo do banco de dados, o banco de dados foi configurado para usar o modelo de recuperação completa. Para obter mais informações, consulte Exibir ou alterar o modelo de recuperação de um banco de dados (SQL Server).

Este exemplo faz backup do log de transações atualmente ativo quando um banco de dados está danificado e inacessível, se o log de transações estiver intacto e acessível.

BACKUP LOG AdventureWorks2022  
   TO MyAdvWorks_FullRM_log1  
   WITH NO_TRUNCATE;  
GO  

Ver também

restaurar um backup de log de transações (SQL Server)
Restaurar um banco de dados do SQL Server para um ponto no tempo (modelo de recuperação completa)
Banco de Dados de Backup (Página Opções de Backup)
Banco de Dados de Backup (Página Geral)
Aplicar cópias de segurança de logs de transações (SQL Server)
CÓPIA DE SEGURANÇA (Transact-SQL)
Restaurações de arquivos (modelo de recuperação simples)
Restaurações de Arquivos (Modelo de Recuperação Completa)