我希望从 Firebird 3 迁移到 4,但如果需要,我想知道是否以及如何将数据库降级回 Firebird 3。出于测试目的,我有一个在 Firebird 4 实例下运行的数据库。该数据库最初是通过执行 gbak 备份和恢复从 Firebird 3 迁移到 Firebird 4 的,所以本质上我现在正在尝试执行相反的操作。
我尝试从3复制gbak并用它来备份:
gbak.exe -b -g -v -se localhost/3051:service_mgr database.fdb database.fbk -user xxx -pass xxx
并尝试恢复:
gbak.exe -c -v -se localhost/3050:service_mgr database.fbk database.fbd -user xxx -pass xxx
但我收到此错误:
gbak:错误:预期备份版本 1..10。找到11
如您所见,我运行了两个 Firebird 实例,3050 = Firebird 3 和 3051 = Firebird 4。
要降级,您必须使用较低版本(在本例中为版本 3)中的 gbak 从较高版本服务器上的数据库创建备份文件。
如果任何存储过程或触发器使用新的 BLR 动词,它将不起作用。那么降级的唯一方法就是创建一个新的数据库并将数据注入其中。