Сбой резервного копирования Firebird при двух установках в Windows

У меня есть Windows Server с Firebird 2.5.4 на порту 3050, и у меня есть еще одна более старая версия Firebird Server на порту 3051.

Я использую сервер 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 к файлу базы данных? Приложение Line of Business не имеет проблем с подключением и внесением изменений в базу данных. В обоих случаях ошибок в firebird.log нет. Очень странно.

1
задан 31 December 2015 в 21:37
1 ответ

Вы необходимо установить уникальное имя IpcName в firebird.conf для каждого сервера Firebird. В этом случае оба они смогут работать с локальным протоколом, и nbackup.exe будет работать успешно.

1
ответ дан 3 December 2019 в 23:54

Теги

Похожие вопросы