此页面为机器翻译。请阅读英文原文。 English

IBSurgeon 文库

如何修复损坏的Firebird数据库?

Alexey Kovyazin,最后更新于2014年3月28日

如果Firebird数据库损坏,请按照以下步骤修复:

  1. 停止Firebird服务器(在Windows上,它通常作为服务运行,因此打开控制面板,运行服务小程序并停止“Firebird Server - Default Instance”)。不要使用损坏的数据库–这会导致进一步损坏。此外,当Firebird服务器运行时,不要复制Firebird数据库–这会导致副本损坏,有时还会导致原始数据库损坏。
  2. 复制Firebird数据库文件–通常是一个带有fdb或gdb扩展名的单个文件,当Firebird服务停止时,使用常规复制命令或Windows资源管理器复制数据库文件是安全的。始终保留损坏的Firebird数据库的原始副本以备将来使用!
  3. 启动Firebird服务器,并在命令提示符中从Firebird\Bin文件夹运行以下命令(通常gfix和gbak工具位于Program Files\Firebird\Firebird_2.5.in中):
Code
gfix.exe -v -full -user SYSDBA -pass masterkey path_to_your_database
gfix.exe -mend -ig -user SYSDBA -pass masterkey path_to_your_database
gbak -b -g -v -user SYSDBA -pass masterkey path_to_your_database path_to_backup

即使gfix显示错误,也请尝试全部运行。

  1. 如果备份成功完成,请恢复数据库:
Code
gbak -c -v -user SYSDBA -pass masterkey path_to_backup path_to_database
  1. 如果gbak失败,请下载FirstAID Diagnostician,安装它,并对原始损坏的数据库运行诊断。更多详情请参见FirstAID产品页面。将完整的错误文本(或截图)和诊断日志发送至IBSurgeon支持团队[email protected]

IBSurgeon的恢复工具

我们提供FirstAID工具用于自动化数据库恢复,该工具(结合标准的gfix和gbak)能够修复高达95%最常见的Firebird和InterBase数据库损坏问题。

如果完整版FirstAID无法修复数据库损坏,我们提供2小时的免费恢复支持来解决此问题。

如需更多信息,请联系IBSurgeon支持团队:[email protected]