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çã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.
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 para um banco de dados online, você deve usar o ... With NORECOVERY option of the BACKUPTransact-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. 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 é truncado, a menos que a opção NO_TRUNCATE ou COPY_ONLY também seja especificada. **Importante** Recomendamos que você evite 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ção: quando você usa o backup da parte final do log em um banco de dados danificado, alguns dos metadados normalmente capturados em backups de log podem não estar disponíveis. Para obter mais informações, consulte Backups da parte final do log com backup incompleto de metadados 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. Além disso, 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 é NULL; as únicas colunas significativas são como as seguintes:
backup_set_id
filegroup_id
tipo
type_desc
is_readonly
Related Tasks
Para criar um backup final do log, consulte Fazer backup do log de transações quando o banco de dados estiver danificado (SQL Server).
Para restaurar um backup de log de transações, consulte Restaurar um backup de log de transações (SQL Server).
Consulte Também
BACKUP (Transact-SQL)
RESTORE (Transact-SQL)
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)