Грешка при restore на архив с Firebird 2.5

Отговори
Потребителски аватар
mIRCata
Admin
Мнения: 1065
Регистриран: 15-11-2004 15:25
Име: инж. Мирослав Джоров
Местоположение: Тайна майна
Контакти:

Грешка при restore на архив с Firebird 2.5

Мнение от mIRCata » 29-03-2013 10:48

Ако на някой му се е случвало да възстановява архив на база с Firebird 2.5 и му е давало грешка в индекс RDB$INDEX_39, май хванах как и защо се получава. За сега, но не на 100% сигурно е, е че когато имаме база работеща на Firebird 2.5 и правим архив на базата на друг компютър, ако на архивиращи компютър седи Firebird с версия 2.1 то неговия gbak прави проблема. Излиза, че между двете версии 2.1 и 2.5 е направена някаква промяна в логиката на gbak. Явно в таблица RDB$ROLES е направено определени записи да ги пропуска при бекъп. Тези записи се възстановяват служебно при restore. Но между двете версии е променена логиката и gbak на 2.1 архивира записи, които трябва да пропусне. По този начин при restore записа се появява в таблицата и gbak(2.5) опитва да дублира служебно същия запис. От тук гръмва и този индекс и архив е неизползваем.
Затова проверете си всичките архивиращи програми по компютрите, където ги ползвате да правят архив на бази с Firebird 2.5, дали на компютъра, които прави бекъпа също е с инсталиран 2.5 Ако е 2.1 най-вероятно архивите са неизползваеми. Пробвайте да възстановите архив, за да видите дали ще ви гръмне с тази грешка.

Отговори