Alguns tipos de corrupção de banco de dados podem ser reparadas com utilitários do InterBase tais como GFIX e GBAK. Entretanto, devemos avisar aos usuários que existem algumas raras corrupções que não podem ser reparadas por tais ferramentas. A causa mais frequente para este tipo de corrupção é uma abrupta e catastrófica "queda" do servidor de banco de dados. Isto inclui máquinas Windows stand-alone que trabalhem com um banco de dados Local InterBase. Desligando bruscamente o servidor quando uma aplicação está no processo de escrever para um arquivo (writing to a file) como um GDB, pode resultar que dados errôneos ou incompletos sejam escritos no arquivo. O usuário do banco de dados deve tomar todas as medidas possíveis para prevenir tal tipo de "queda" do servidor. Corrupções de banco de dados frequentemente são reportadas através do utilitário GFIX. Sempre trabalhe com uma cópia do banco de dados, nunca com o banco de dados em produção. Use o modo de "copiar arquivo" usado em seu sistema operacional. Você precisa ter exclusivo acesso ao banco de dados para fazer isto. COPY mybase.gdb mybase_test.gdb Cheque se há corrupção no banco. Você precisa ter exclusivo acesso ao banco para fazer isto, mas desde que você esteja trabalhando com a cópia do bancoisto deixa de ser um problema. GFIX -V -F mybase_test.gdb -USER DOMINIUS -PAS "senha" Corrija a corrupção no banco. Somente fassa isto isto caso o passo anterior tenha relatado corrupção no banco. GFIX -M -I mybase_test.gdb -USER DOMINIUS -PAS "senha" Cheque para certificar-se que a corrupção foi corrigida. GFIX -V -F mybase_test.gdb -USER DOMINIUS -PAS "senha" Se o GFIX ainda relatar corrupção no banco, nós devemos tomar outras atitudes para reparar o banco de dados. O procedimento de Backup/Restore deve criar um novo banco sem versões antigas dos registros, sem fragmentação de página, com índices recém criados e log de transações. Execute o backup. GBAK -G -B -Z -V mybase_test.gdb mybase.gbk -USER DOMINIUS -PAS "senha" Se a corrupção se encontra em alguma versão de registro ou em transações em limbo, então você deverá incluir o switch -l no comando GBAK para que ele passe então a ignorar transações em limbo. Crie um novo banco à partir do backup. Isto deve criar um banco sem corrupções, com índices recém criados, sem versões antigas de registros, etc. GBAK -C -V -Z mybase.gbk mynew_base.gdb -USER DOMINIUS -PAS "senha" Verifique se o novo banco ainda contém corrupção. GFIX -V -F mynew_base.gdb -USER DOMINIUS -PAS "senha"