Partilhar via


Backups da parte final do log (SQL Server)

Este tópico é relevante apenas para o backup e a restauração dos bancos de dados do SQL Server que estão usando modelos de recuperação completa ou bulk-logged.

Um backup da parte final do log captura qualquer registro de log que ainda não foi submetido a backup (a parte final do log) para impedir a perda de trabalho e manter a cadeia de logs intacta. Para que você possa recuperar um banco de dados do SQL Server até seu momento determinado mais recente, você deve fazer backup da parte final do log de transações. O backup da parte final do log será o último backup de interesse no plano de recuperação do banco de dados.

ObservaçãoObservação

Nem todos os cenários de restauração exigem um backup da parte final do log. Você não precisará de um backup da parte final do log se o ponto de recuperação estiver em um backup de log anterior. Além disso, um backup da parte final do log será desnecessário se você estiver movendo ou substituindo um banco de dados e não precisar restaurá-lo para um momento determinado após o seu backup mais recente.

Neste tópico:

  • Cenários que exigem um backup da parte final do log

  • Backups da parte final do log com backup incompleto de metadados

  • Tarefas relacionadas

  • Conteúdo relacionado

Cenários que exigem um backup da parte final do log

É recomendável fazer um backup da parte final do log nos seguintes cenários:

  • Se o banco de dados estiver online e você planeja realizar uma operação de restauração nele, comece fazendo backup da parte final do log. Para evitar um erro em um banco de dados online, você deve usar a opção WITH NORECOVERY da instrução BACKUP Transact-SQL.

  • Se um banco de dados estiver offline e não puder ser iniciado, e você precisar restaurar o banco de dados, primeiro faça backup da parte final do log. Como nenhuma transação pode ocorrer nesse momento, o uso de WITH NORECOVERY é opcional.

  • Se um banco de dados for danificado, tente fazer um backup da parte final do log usando a opção WITH CONTINUE_AFTER_ERROR da instrução BACKUP.

    Em um banco de dados danificado, o backup da parte final do log só terá êxito se os arquivos de log não estiverem danificados, o banco de dados estiver em um estado que ofereça suporte a backups da parte final do log e o banco de dados não tiver nenhuma alteração bulk-logged. Se um backup da parte final do log não puder ser criado, qualquer transação confirmada após o backup mais recente será perdida.

A tabela a seguir resume as opções BACKUP NORECOVERY e CONTINUE_AFTER_ERROR.

Opção BACKUP LOG

Comentários

NORECOVERY

Use NORECOVERY sempre que pretender continuar com uma operação de restauração no banco de dados. NORECOVERY coloca o banco de dados no estado de restauração. Isso garante que o banco de dados não seja alterado depois do backup da parte final do log.

O log será truncado, a menos que a opção NO_TRUNCATE ou COPY_ONLY também seja especificada.

Observação importanteImportante

É recomendável usar NO_TRUNCATE, exceto quando o banco de dados estiver danificado.

CONTINUE_AFTER_ERROR

Use CONTINUE_AFTER_ERROR somente se estiver fazendo backup da parte final de um banco de dados danificado.

ObservaçãoObservação

Quando você usa o backup da parte final do log em um banco de dados danificado, alguns dos metadados que são normalmente capturados em backups de log poderão estar indisponíveis. Para obter mais informações, consulte Backups da parte final do log com metadados de backup incompletos posteriormente neste tópico.

Backups da parte final do log com backup incompleto de metadados

Backups da parte final do log capturam a parte final do log até mesmo se o banco de dados estiver offline, danificado, ou com arquivos de dados faltando. Isso pode causar metadados incompletos dos comandos de informação de restauração e de msdb. Entretanto, apenas os metadados estão incompletos; o log capturado está completo e utilizável.

Se um backup da parte final do log tiver metadados incompletos, na tabela backupset, has_incomplete_metadata é definido como 1. Também, na saída de RESTORE HEADERONLY, HasIncompleteMetadata é definido para 1.

Se os metadados em um backup da parte final do log estiverem incompletos, a tabela backupfilegroup estará sem a maioria das informações sobre os grupos de arquivos na hora do backup da parte final do log. A maioria das colunas da tabela backupfilegroup são NULL; as únicas colunas significativas são como as seguintes:

  • backup_set_id

  • filegroup_id

  • tipo

  • type_desc

  • is_readonly

Tarefas relacionadas

Para criar um backup da parte final do log, consulte Fazer backup do log de transações quando o banco de dados está danificado (SQL Server).

Para restaurar um backup de log de transações, consulte Restaurar um backup de log de transações (SQL Server).

[Início]

Conteúdo relacionado

Nenhum.

[Início]

Consulte também

Referência

BACKUP (Transact-SQL)

RESTORE (Transact-SQL)

Conceitos

Fazer backup e restaurar bancos de dados do SQL Server

Backups somente cópia (SQL Server)

Backups de log de transações (SQL Server)

Aplicar backups de log de transações (SQL Server)