Моя ситуация такова: Имеем Interbase 7.1 и базу на 4,5 Ггб.
Раньше резервное копирование и восстановление выполняла программа на Delphi, которая использовала стандартные компоненты Interbase - Backup и Restore. Однако недавно она перестала работать. Причина, как выяснилось в компоненте Restore: резервное копирование проходило отлично, а вот при восстановлении - просто пропадали все записи из всех таблиц и больше ничего не происходило. (я полагаю что это кривизна данного компонента, видимо база достигла какого-то предела ?). При этом ручное копирование-восстановление из IBExpert проходило отлично.
Что бы дальше делать backup&Restore был написан батник, который повешан в сервере на запуск по расписанию:
Код: Выделить всё
echo off
echo ---= Запуск резервного копирования =---
echo --запускаем резервное копирование - %date% - %time%
"C:\Program Files\Borland\InterBase\bin\gbak.exe" -b -user SYSDBA -password masterkey localhost:d:\arm_base\base.gdb c:\bacup\base.gbk
echo --отключаем всех пользователей от базы - %date% - %time%
"C:\Program Files\Borland\InterBase\bin\gfix.exe" -shut -force 0 -user SYSDBA -password masterkey localhost:d:\arm_base\base.gdb
echo --копируем базу данных - %date% - %time%
copy d:\arm_base\base.gdb c:\bacup\base%date%.gdb /Y
echo --восстанавливаем базу - %date% - %time%
"C:\Program Files\Borland\InterBase\bin\gbak.exe" -r -user SYSDBA -password masterkey c:\bacup\base.gbk localhost:d:\arm_base\base.gdb
echo --делаем базу доступной (online) - %date% - %time%
"C:\Program Files\Borland\InterBase\bin\gfix.exe" -online -user SYSDBA -password masterkey localhost:d:\arm_base\base.gdb
echo ---= Резервное копирование окончено %date% - %time% =---
А вот восстановление занимает более 6 часов!!! (хотя раньше было 45 мин).
При копировании ошибок gbak никаких не выдает, при восстановлении выдал несколько варнингов:
Код: Выделить всё
gbak: WARNING: action cancelled by trigger (1) to preserve data integrity
gbak: WARNING: could not find column for GRANT
Подскажите, пожалуйста, в чем может быть причина - почему так долго восстанавливается база ?
Может быть есть более правильный способ осуществлять backup-restore ?
Спасибо!