Сбой резервного копирования 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 ответ

Решение

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

Другие вопросы по тегам