Middle
Como funciona a recuperação de uma base de dados a partir de um backup completo + diferencial + log de transações?
sobes.tech IA
Resposta da IA
A recuperação da base de dados a partir de backups completos (full), diferenciais (differential) e do log de transações (transaction log) ocorre em várias etapas:
- Restaura-se o último backup completo — este é o estado base da base.
- Depois, aplica-se o último backup diferencial, que contém as alterações desde o backup completo.
- Em seguida, aplicam-se sequencialmente todos os logs de transações feitos após o backup diferencial, para levar a base ao estado desejado no momento do último log.
É importante usar a opção NORECOVERY nas etapas intermediárias para que a base permaneça em modo de recuperação e aceite backups subsequentes, e só após aplicar tudo, executar RECOVERY.
Exemplo de comandos:
RESTORE DATABASE MyDB FROM DISK = 'full.bak' WITH NORECOVERY;
RESTORE DATABASE MyDB FROM DISK = 'diff.bak' WITH NORECOVERY;
RESTORE LOG MyDB FROM DISK = 'log1.trn' WITH NORECOVERY;
RESTORE LOG MyDB FROM DISK = 'log2.trn' WITH RECOVERY;