Pergunta

O problema é o seguinte:

t0: Insert is made into my database
t1: Delete is executed
t2: Full backup is made
t3: Transaction log backup is made

Como posso recuperar o registro excluído após t3 (que é agora)? Quero que o banco de dados em um estado entre T0 e T1. O nível de log foi completa.

Edit: Eu já executou DBCC LOG (DB-Name, 3), mas o log parece ser truncado. Existem apenas 10 itens, embora deve haver milhares.

Foi útil?

Solução

Para repetir log você sempre começar a partir de um registro completo, aplicar os diferenciais e, em seguida, os backups de log. A linha do tempo é sempre para a frente a partir do backup completo, não para trás. Então, para chegar ao estado após t0 (ie. Recuperar o registro excluído) você começa com um backup completo que foi tomada antes T0 e, em seguida, aplicar os backups do log com parada em t0.

Outras dicas

Apesar de não ser uma solução ideal, você pode tentar restaurar o backup de banco de dados em banco de dados separado, comparar bases de dados e fazer as alterações necessárias manualmente.

Outra maneira é usar um terceiro leitor de log de transações do partido, como ApexSQL Log .

Lance,

O log de transações não é projetado para transações vista. Não é realmente esse tipo de log. Além disso, quando você fez o backup do log de transações, que teria truncado o arquivo de log, como a informação foi apoiada em um arquivo.

Também vale a pena mencionar que quando você colocar um banco de dados para o modelo de recuperação completa, que realmente permanece no modo simples até que você faça um backup completo. Portanto, se nenhum backup foi feito antes de t0, então você não pode voltar para esse estado.

Rob

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top