Quando temos o desprazer de nos deparar com uma base corrompida no Firebird podemos tentar alguns procedimentos que podem vir a recuperar o banco de dados, algumas vezes perdendo informações dependendo do tamanho do problema, abaixo algumas dicas:
gfix -v -f -user sysdba -password masterkey arquivo.fbd
gfix -m -i -user sysdba -password masterkey arquivo.fbd
backup e restore do banco de dados com o utilitário gbak.
Em algumas situações ao restaurar o banco de dados ocorrem problemas com as chaves estrangeiras, porque estão inconsistentes.
Um procedimento que pode ser feito neste caso é restaurar sem ativar elas:
gbak -user sysdba -password masterey -i -r arquivo.fbk arquivo.fbd
Depois deste procedimento o ideal é criar um novo banco de dados somente com os objetos criados (tabelas, views, funções, ...) e copiar as informações para ela.
Antes de mais nada caso exista um backup atualizado, muitas vezes o melhor caminho é utilizar ele antes de fazer estes procedimentos, porque como disse, conforme o tamanho do problema, talvez algumas informações sejam perdidas, e não tem como saber tudo que pode ter sido perdido.
O seu blog é muito bom!!! Resolvi um problema com o meu banco de dados só com a dica acima... Valeu...
ResponderExcluir