gfix -v -full database.gdb
Если предыдущая команда обнаружила ошибки, то нужно их исправить командой.
gfix -mend -full -ignore database.gdb
! ключ -mend помечает поврежденные структуры как исключаемые при backup. В результате целостность между таблицами может быть нарушена, и даже если после этого backup пройдет, не факт что базу данных удастся восстановить из backup. В этом случае придется вручную копировать данные при помощи утилит вроде IBPump.
Проверим, все ли починилось.
gfix -v -full database.gdb
Если на этот момент вы все еще видите ошибки, то надо попытаться сделать backup, при этом обязательно нужно отключать сборку мусора (ключ -g):
gbak -b -v -ig -g database.gdb database.gbk
ключ -ig игнорирует ошибки при чтении структур данных, и пытается сохранить в backup все неповрежденные структуры и данные.
Теперь надо попытаться восстановить базу данных из backup:
gbak -c -v database.gbk new.gdb