É possível combinar uma "versão mais recente" do arquivo LDF com uma versão mais antiga do arquivo MDF e manter as alterações registradas no LDF? Vamos supor que não houve backups de log no tempo, pois acho que isso tornaria isso realmente impossível.
Passos:
- Banco de dados em modo de recuperação total
- Faça um backup completo
- Faça algumas alterações
- Desanexar banco de dados
- Faça uma cópia de arquivo do arquivo LDF
- Restaurar do backup completo na etapa 2
- Desanexar banco de dados
- Faça uma cópia de arquivo do arquivo MDF
- Jogue fora o backup (passo importante)
- Excluir o banco de dados
- De alguma forma, faça o MDF e o LDF tocarem juntos com a alteração feita na etapa 3 ainda em vigor.
Apenas anexar o MDF e o LDF dá um erro:
O número de varredura de log (38:195:41) passado para o banco de dados de varredura de log 'mic' não é válido.
Eu também tentei uma sequência de
- Criar banco de dados
- Colocar banco de dados offline
- Substitua os arquivos MDF e LDF
- Colocar online
- Faça um backup de log
- Soltar banco de dados
- Criar banco de dados apenas com arquivo MDF anexado
- Faça backup completo
- Restaurar backup completo (norecovery)
- Restaurar o backup de log da Etapa 5
Tenho uma memória vívida de que isso funcionou bem por um tempo, mas depois não funcionou mais.
O log nesse conjunto de backup termina em LSN 38000000021300001, que é muito cedo para ser aplicado ao banco de dados. Um backup de log mais recente que inclui LSN 39000000006500001 pode ser restaurado.