Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
O tópico é relevante apenas para o modelo de recuperação completa ou o modelo de recuperação com registro em massa.
Este tópico descreve a aplicação de backups de log de transações como parte da restauração de um banco de dados do SQL Server.
Neste tópico:
Requisitos para restaurar backups de log de transações
Para aplicar um backup de log de transações, os seguintes requisitos devem ser atendidos:
Backups de log suficientes para uma sequência de restauração: Você deve ter registros de log armazenados em backup suficientes para concluir uma sequência de restauração. Os backups de log necessários, incluindo, quando necessário, o backup de log final, devem estar disponíveis antes do início da sequência de restauração.
Ordem de restauração correta: O backup de banco de dados completo ou backup diferencial do banco de dados imediatamente anterior deve ser restaurado primeiro. Em seguida, todos os logs de transações criados após esse backup de banco de dados completo ou diferencial devem ser restaurados em ordem cronológica. Se um backup de log de transações da cadeia de logs for perdido ou danificado, só será possível restaurar os logs de transações anteriores ao log de transações ausente.
O banco de dados ainda não foi recuperado: O banco de dados não pode ser recuperado até que o log de transações final tenha sido aplicado. Se você recuperar o banco de dados depois de restaurar um dos backups intermediários de log de transações, antes de alcançar o final da cadeia de logs, não será possível restaurar o banco de dados além desse ponto sem reiniciar a sequência completa de restauração, começando com o backup integral do banco de dados.
Dica
Uma prática recomendada é restaurar todos os backups de log (RESTORE LOG database_name WITH NORECOVERY). Depois de restaurar o último backup de log, recupere o banco de dados em uma operação separada (RESTORE DATABASE database_name WITH RECOVERY).
Logs de recuperação e transação
Quando você concluir a operação de restauração e recuperar o banco de dados, o processo de recuperação reverterá todas as transações incompletas. Isso é conhecido como a fase de reversão. A reversão é necessária para restaurar a integridade do banco de dados. Após a reversão, o banco de dados fica online e nenhum backup de log de transações pode ser aplicado ao banco de dados.
Por exemplo, uma série de backups de log de transações contém uma transação de execução prolongada. O início da transação é registrado no primeiro backup de log de transações, mas o final da transação é registrado no segundo backup de log de transações. Não há registro de uma operação de confirmação ou reversão no primeiro backup de log de transações. Se uma operação de recuperação for executada quando o primeiro backup de log de transações for aplicado, a transação de longa duração será tratada como incompleta e as modificações de dados registradas no primeiro backup de log de transações serão revertidas. O SQL Server não permite que o segundo backup de log de transações seja aplicado após esse ponto.
Observação
Em algumas circunstâncias, você pode adicionar explicitamente um arquivo durante a restauração de log.
Usando backups de log para restaurar até o ponto de falha
Suponha a sequência de eventos a seguir.
| Hora | Acontecimento |
|---|---|
| Às 8h. | Faça backup do banco de dados para criar um backup de banco de dados completo. |
| Meio-dia | Faça backup do log de transações. |
| 16h00. | Faça backup do log de transações. |
| Às 18h. | Faça backup do banco de dados para criar um backup de banco de dados completo. |
| Às 20h. | Faça backup do log de transações. |
| 21h45 | Ocorre uma falha. |
Observação
Para obter uma explicação do exemplo de sequência de backups, consulte Backups de Log de Transações (SQL Server).
Para restaurar o banco de dados para seu estado às 21h45 (ponto de falha), qualquer um dos procedimentos alternativos a seguir pode ser usado:
Alternativa 1: restaurar o banco de dados usando o backup de banco de dados completo mais recente
Crie um backup de tail-log do log de transações que está atualmente ativo no ponto de falha.
Não restaure o backup completo do banco de dados das 8h da manhã. Em vez disso, restaure o backup de banco de dados completo mais recente das 18:00 e aplique o backup de log das 20:00 e o backup de log final.
Alternativa 2: restaurar o banco de dados usando um backup de banco de dados completo anterior
Observação
Esse processo alternativo será útil se um problema impedir que você use o backup completo do banco de dados das 18h. Esse processo leva mais tempo do que a restauração do backup completo do banco de dados das 18h.
Crie um backup de log final do log de transações atualmente ativo a partir do ponto de falha.
Restaure o backup completo do banco de dados das 8:00 da manhã e restaure todos os quatro backups de log de transações em sequência. Isso encaminha todas as transações concluídas até as 21h45.
Essa alternativa aponta a segurança redundante oferecida pela manutenção de uma cadeia de backups de log de transações em uma série de backups de banco de dados completos.
Observação
Em alguns casos, você também pode usar logs de transações para restaurar um banco de dados para um ponto específico no tempo. Para obter mais informações, restaure um Banco de Dados do SQL Server para um ponto no tempo (modelo de recuperação completa).
Tarefas Relacionadas
Para aplicar um backup de log de transações
Para restaurar o ponto de recuperação
Restaurar um banco de dados até o ponto de falha no modelo de recuperação completa (Transact-SQL)
Restaurar um banco de dados do SQL Server para um ponto no tempo (modelo de recuperação completa)
SqlRestore (SMO)
Recuperação de bancos de dados relacionados que contêm transação marcada
Para recuperar um banco de dados depois de restaurar backups usando WITH NORECOVERY