在存储过程存在不匹配的情况下恢复Firebird 3.0备份
我有一份Firebird 3.0数据库的备份文件。这个备份是在存储过程参数调用不匹配的情况下创建的。这种不匹配在还原时会产生错误。错误信息如下:
gbak: ERROR:Error while parsing procedure DLREPL_REPL_ACTIVE's BLR
gbak: ERROR: invalid request BLR at offset 140
gbak: ERROR: Input parameter mismatch for procedure META_GET_TABLES
gbak: ERROR: Exiting before completion due to errors
gbak:Exiting before completion due to errors
生成的.fdb文件是部分还原。我在表中发现了一些数据。
这个部分还原可以被视为已经还原了表中的所有数据吗?
解决方案
除非你指定了 -one_at_a_time,数据只有在全部写入完毕后才会被提交(如果指定了 -parallel,这对Firebird 5+的 gbak就不成立)。因此,如果确实有数据被写入,那么意味着所有数据都已经写入完毕。
话虽如此,最好在源数据库中修复问题并创建一个新的备份。
站内所有文章版权归属LeftHeroAI导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。