Firebird
Firebird 備份在 Windows 上安裝兩次失敗
我有一個在埠 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 將成功執行。