IB数据库的修复(翻译)
剑雷 2004-01-03 03:09:19 这是来自FIREBIRD站的资料,以前转贴过英文,这次将它翻译出来(我对它有一些加工),希望对大家有用:
1、断开所有与IB服务器的连接
2、复制一份,对复制文件进行以下操作,并且要独占访问
3、进入Command命令窗口
4、为了避免在以下命令行中每次都输入用户名与密码,特设置以下两个变量:
SET ISC_USER=SYSDBA
SET ISC_PASSWORD=masterkey
5、对损坏的数据库进行检查:
gfix -v -full abc.gdb
6、如果上一条命令已指出这个数据库有问题,我们现在需要修复它:
gfix -mend -full -ignore abc.gdb
7、再检查一遍,看数据库是否修好:
gfix -v -full abc.gdb
8、如果仍有错误,你必须做一个数据备份与恢复操作:
gbak -backup -v -ignore abc.gdb abc.gbk
9、若上面方法备份失败,关闭垃圾收集功能试试:
gbak -backup -v -ignore -garbage abc.gdb abc.gbk
10、如果仍未备份成功,可能是在一个过渡状态的事务中记录损坏,加上-limbo参数试试:
gbak -backup -v -ignore -garbage -limbo abc.gdb abc.gbk
11、从备份文件中恢复数据(仍不成功,我也没办法了)
gbak -create -v abc.gbk ddd.gdb
祝你成功!