Процесс backup/restore базы данных Firebird чем-то похож на дефрагментацию жесткого диска. Данные в файле базы дефрагментируются и наводится еще некоторый порядок. Полезно периодически дефрагментировать базу.
Еще данная дефрагментация помогает при ошибке «unsuccessful metadata update TABLE TBLXX too many versions». Ошибка появляется, когда какой-то объект системы был изменен 256 раз. Под изменением понимается добавление/удаление поля в объект. Так уж устроена база Firebird. Чтобы сбросить эти счетчики, надо провести backup/restore базы Firebird.
Также этот процесс нужен для переноса базы из одной версии Furebird в другую.
Процесс дефрагментации базы происходит в два этапа:
- Сначала происходит backup в другой файл (base.fbk).
- Затем из backup-а база восстанавливается в прежний файл (base.fdb), затирая его.
Чтобы провести backup/restore базы сделайте следующее:
- Сохраните на всякий случай вашу базу в надежное место. Чтобы в случае чего можно было вернуть старую базу.
- Установите Firebird нужной версии.
- Создайте папку на рабочем столе, разархивируйте в нее файл BackupRestore.zip и вашу базу. Подправьте файл BackupRestore.bat, указав в нем корректный путь к файлу gbak.exe. Этот файл находится в папке Firebird.
- Запустите файл BackupRestore.bat.
Если у вас все получилось как на скриншоте ниже, то значить операция прошла успешно и можете переместить дефрагментированную базу на прежнее место.