Backups da parte final do log (SQL Server)Tail-Log Backups (SQL Server)

APLICA-SE A: simSQL Server nãoBanco de Dados SQL do Azure nãoSQL Data Warehouse do Azure nãoParallel Data Warehouse APPLIES TO: yesSQL Server noAzure SQL Database noAzure SQL Data Warehouse noParallel Data Warehouse

Este tópico é relevante apenas para o backup e a restauração dos bancos de dados do SQL ServerSQL Server que estão usando modelos de recuperação completa ou bulk-logged.This topic is relevant only for backup and restore of SQL ServerSQL Server databases that are using the full or bulk-logged recovery models.

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.A tail-log backup captures any log records that have not yet been backed up (the tail of the log) to prevent work loss and to keep the log chain intact. Para que você possa recuperar um banco de dados do SQL ServerSQL Server até seu momento determinado mais recente, você deve fazer backup da parte final do log de transações.Before you can recover a SQL ServerSQL Server database to its latest point in time, you must back up the tail of its transaction log. O backup da parte final do log será o último backup de interesse no plano de recuperação do banco de dados.The tail-log backup will be the last backup of interest in the recovery plan for the database.

OBSERVAÇÃO: Nem todos os cenários de restauração exigem um backup da parte final do log.NOTE: Not all restore scenarios require a tail-log backup. 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.You do not need a tail-log backup if the recovery point is contained in an earlier log backup. 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.Also, a tail-log backup is unnecessary if you are moving or replacing (overwriting) a database and do not need to restore it to a point of time after its most recent backup.

Cenários que exigem um backup da parte final do logScenarios That Require a Tail-Log Backup

É recomendável fazer um backup da parte final do log nos seguintes cenários:We recommend that you take a tail-log backup in the following scenarios:

  • 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.If the database is online and you plan to perform a restore operation on the database, begin by backing up the tail of the log. Para evitar um erro para um banco de dados online, você deve usar ... Opção WITH NORECOVERY da instrução BACKUP Transact-SQLTransact-SQL .To avoid an error for an online database, you must use the ... WITH NORECOVERY option of the BACKUP Transact-SQLTransact-SQL statement.

  • 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.If a database is offline and fails to start and you need to restore the database, first back up the tail of the log. Como nenhuma transação pode ocorrer nesse momento, o uso de WITH NORECOVERY é opcional.Because no transactions can occur at this time, using the WITH NORECOVERY is optional.

  • 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.If a database is damaged, try to take a tail-log backup by using the WITH CONTINUE_AFTER_ERROR option of the BACKUP statement.

    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.On a damaged database backing up the tail of the log can succeed only if the log files are undamaged, the database is in a state that supports tail-log backups, and the database does not contain any bulk-logged changes. 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.If a tail-log backup cannot be created, any transactions committed after the latest log backup are lost.

A tabela a seguir resume as opções BACKUP NORECOVERY e CONTINUE_AFTER_ERROR.The following table summarizes the BACKUP NORECOVERY and CONTINUE_AFTER_ERROR options.

Opção BACKUP LOGBACKUP LOG option ComentáriosComments
NORECOVERYNORECOVERY Use NORECOVERY sempre que pretender continuar com uma operação de restauração no banco de dados.Use NORECOVERY whenever you intend to continue with a restore operation on the database. NORECOVERY coloca o banco de dados no estado de restauração.NORECOVERY takes the database into the restoring state. Isso garante que o banco de dados não seja alterado depois do backup da parte final do log.This guarantees that the database does not change after the tail-log backup. O log será truncado, a menos que a opção NO_TRUNCATE ou COPY_ONLY também seja especificada.The log will be truncated unless the NO_TRUNCATE option or COPY_ONLY option is also specified.

Importante: evite usar NO_TRUNCATE, exceto quando o banco de dados estiver danificado.Important: Avoid using NO_TRUNCATE, except when the database is damaged.
CONTINUE_AFTER_ERRORCONTINUE_AFTER_ERROR Use CONTINUE_AFTER_ERROR somente se estiver fazendo backup da parte final de um banco de dados danificado.Use CONTINUE_AFTER_ERROR only if you are backing up the tail of a damaged database.

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.When you use back up the tail of the log on a damaged database, some of the metadata ordinarily captured in log backups might be unavailable. Para obter mais informações, consulte Backups da parte final do log com backup incompleto de metadadosneste tópico.For more information, see Tail-Log Backups That Have Incomplete Backup Metadata, in this topic.

Backups da parte final do log que têm metadados de backup incompletosTail-Log backups that have incomplete backup metadata

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.Tail log backups capture the tail of the log even if the database is offline, damaged, or missing data files. Isso pode causar metadados incompletos dos comandos de informação de restauração e de msdb.This might cause incomplete metadata from the restore information commands and msdb. Entretanto, apenas os metadados estão incompletos; o log capturado está completo e utilizável.However, only the metadata is incomplete; the captured log is complete and usable.

Se um backup da parte final do log tiver metadados incompletos, na tabela backupset , has_incomplete_metadata é definido como 1.If a tail-log backup has incomplete metadata, in the backupset table, has_incomplete_metadata is set to 1. Além disso, na saída de RESTORE HEADERONLY, HasIncompleteMetadata é definido para 1.Also, in the output of RESTORE HEADERONLY, HasIncompleteMetadata is set to 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.If the metadata in a tail-log backup is incomplete, the backupfilegroup table will be missing most of the information about filegroups at the time of the tail-log backup. A maioria das colunas da tabela backupfilegroup é NULL; as únicas colunas significativas são como as seguintes:Most of the backupfilegroup table columns are NULL; the only meaningful columns are as follows:

  • backup_set_idbackup_set_id
  • filegroup_idfilegroup_id
  • tipotype
  • type_desctype_desc
  • is_readonlyis_readonly

Tarefas relacionadasRelated Tasks

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).To create a tail-log backup, see Back Up the Transaction Log When the Database Is Damaged (SQL Server).

Para restaurar um backup de log de transações, consulte Restaurar um backup de log de transações (SQL Server).To restore a transaction log backup, see Restore a Transaction Log Backup (SQL Server).

Consulte TambémSee Also

BACKUP (Transact-SQL) BACKUP (Transact-SQL)
RESTORE (Transact-SQL) RESTORE (Transact-SQL)
Fazer backup e restaurar bancos de dados do SQL Server Back Up and Restore of SQL Server Databases
Backups somente cópia (SQL Server) Copy-Only Backups (SQL Server)
Backups de log de transações (SQL Server) Transaction Log Backups (SQL Server)
Aplicar backups de log de transações (SQL Server) Apply Transaction Log Backups (SQL Server)
Guia de arquitetura e gerenciamento de log de transações do SQL ServerSQL Server Transaction Log Architecture and Management Guide