Системный каталог представляет собой набор таблиц и ряд вспомогательных файлов. Для архивирования системных таблиц в оперативном режиме, необходимо вызвать функцию htCatalogBackup. Эта функция создаст архивный файл, содержащий системные таблицы, коды хранимых процедур и коды триггеров, хранящихся на сервере. Следует помнить, что во время проведения операции архивирования системного каталога, работа пользователей будет приостановлена. Формат вызова функции htCatalogBackup:
nCode = htCatalogBackup(sArchive);
Аргументы:
| Аргумент
| Тип
| Значение
|
| sArchive
| character
| Имя создаваемого архивного файла
|
Результат:
| Тип
| Значение
|
| integer
| Код ошибки или 0, если операция завершилась успешно.
|
Например:
insert into BACKLOG (DTLOG, TMLOG, TBLOG, ERLOG)
values (today(), gettick(), 'SYSDICT', htCatalogBackup(@path+'SYSDICT.DATA'));
В данном примере в каталоге @path будет создан файл SYSDICT.DATA с резервной копией системного каталога.
Перед архивированием системного каталога рекомендуется его упаковать с помощью функции htCatalogPack. Необходимость вызова htCatalogPack связана с тем, что в системных таблицах имеется дифференциальная часть, а архивируется только постоянная часть системных таблиц. Формат вызова функции htCatalogPack:
nCode = htCatalogPack();
Результат:
| Тип
| Значение
|
| integer
| Код ошибки или 0, если операция завершилась успешно
|