Firebird

Firebird 備份在 Windows 上安裝兩次失敗

  • July 6, 2017

我有一個在埠 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 都沒有錯誤。很奇怪。

您需要在 firebird.conf 中為每個 Firebird 伺服器設置唯一的 IpcName。在這種情況下,它們都將能夠使用本地協議,並且 nbackup.exe 將成功執行。

引用自:https://serverfault.com/questions/746202