Как восстановить поврежденную базу данных Firebird?
Alexey Kovyazin, последнее обновление 28 марта 2014 года
Если база данных Firebird повреждена, пожалуйста, выполните следующие шаги для её восстановления:
- Остановите сервер Firebird (в Windows он обычно работает как служба, поэтому откройте Панель управления, запустите апплет “Службы” и остановите “Firebird Server - Default Instance”). Не используйте повреждённую базу данных - это приведёт к дальнейшему повреждению. Также не копируйте базу данных Firebird, пока сервер Firebird запущен - это приведёт к повреждению копии, а иногда и к повреждению исходной базы данных.
- Сделайте копию файла базы данных Firebird - обычно это один файл с расширением fdb или gdb, и когда служба Firebird остановлена, безопасно копировать файл базы данных обычной командой копирования или через Проводник Windows. Всегда сохраняйте оригинальную копию повреждённой базы данных Firebird для возможного использования в будущем!
- Запустите сервер Firebird и выполните следующие команды в командной строке из папки Firebird\Bin (обычно инструменты gfix и gbak находятся в Program Files\Firebird\Firebird_2.5.in):
gfix.exe -v -full -user SYSDBA -pass masterkey path_to_your_database
gfix.exe -mend -ig -user SYSDBA -pass masterkey path_to_your_database
gbak -b -g -v -user SYSDBA -pass masterkey path_to_your_database path_to_backup
Попробуйте выполнить их все, даже если gfix показывает ошибки.
- Если резервное копирование завершилось успешно, восстановите базу данных:
gbak -c -v -user SYSDBA -pass masterkey path_to_backup path_to_database
- Если gbak не сработал, скачайте FirstAID Diagnostician, установите его и запустите Диагностику на оригинальной повреждённой базе данных. Подробнее см. на странице продукта FirstAID. Отправьте полный текст ошибки (или скриншот) и журнал диагностики в службу поддержки IBSurgeon [email protected].
Инструменты восстановления IBSurgeon
Мы предлагаем инструмент FirstAID для автоматического восстановления базы данных, который (в сочетании со стандартными gfix и gbak) позволяет исправить до 95% наиболее распространённых повреждений баз данных Firebird и InterBase.
Если полная версия FirstAID не сможет устранить повреждение базы данных, мы предлагаем 2 часа бесплатной поддержки по восстановлению для решения этой проблемы.
Для получения дополнительной информации обращайтесь в службу поддержки IBSurgeon: [email protected].