Windows 上两次安装 Firebird 备份失败

Windows 上两次安装 Firebird 备份失败

我有一台在端口 3050 上运行 Firebird 2.5.4 的 Windows Server,还有另一台在端口 3051 上运行旧版本的 Firebird Server。

由于另一个应用程序的兼容性原因,我使用 3051 服务器。我需要时才打开它,大多数时候它是通过 Windows 服务关闭的。

但是,使用 nbackup 备份现在会失败。命令是

nbackup.com -u sysdba -p PASSWORD -B 0 "C:\DATABASE.FDB" "X:\BACKUP.fbk"

运行此命令时失败,并显示:

[
PROBLEM ON "attach database".
unavailable database
SQLCODE:-904
]
Failure: Database error

通过 isql 连接同样会产生同样的问题。

isql -u sysba -p PASSWORD "C:\DATABASE.FDB"

Statement failed, SQLSTATE = 08001
unavailable database

但是通过特定的连接主机和端口它可以正常工作。

isql -u sysba -p PASSWORD "localhost/3050:C:\DATABASE.FDB"

将其应用于 nbackup 会失败,因为需要本地访问数据库文件。

nbackup.com -u sysdba -p PASSWORD -B 0 "localhost/3050:C:\DATABASE.FDB" "X:\BACKUP.fbk"

[
PROBLEM ON "nbackup needs local access to database file".
SQLCODE:-999
]
Failure: Database error

是否存在某种环境变量或配置阻止 nbackup 正确访问数据库文件?业务线应用程序连接和更改数据库时没有问题。两个实例的 firebird.log 中都没有错误。非常奇怪。

答案1

您需要在 firebird.conf 中为每个 Firebird 服务器设置唯一的 IpcName。这样,它们两个都可以使用本地协议,并且 nbackup.exe 将成功运行。

相关内容