Для проверки целостности системных таблиц и восстановления системных таблиц сервера в состав дистрибутива HyTech входит утилита HTCTLG. Утилита HTCTLG работает в автономном режиме (в этом режиме HyTech SQL-сервер остановлен). Помимо проверки целостности системных таблиц и восстановления системных таблиц сервера утилита HTCTLG может изменять каталог размещения таблиц с данными и каталог размещения хранимых процедур и триггеров.
Все параметры программа HTCTLG берет из файла инициализации.
Для запуска утилиты используется следующая команда:
HTCTLG.EXE
При таком запуске программа стартует в интерактивном режиме, выводя подсказку:
HTCTLG>
В ответ можно ввести следующие команды:
Тип
Значение
quit
Завершить работу с программой.
exit
Завершить работу с программой.
help
Вывести список доступных команд.
help ###
Вывести формат команды ###.
version
Вывести версию программы.
verify
Проверить системные таблицы.
setbasepath ###
Прописать у всех таблиц каталог ###.
setprocpath ###
Прописать у всех хранимых процедур и триггеров каталог ###.
open
Открыть, а при необходимости, создать системные таблицы. Если открываемые таблицы испорчены, то произвести необходимое восстановление (автоматическое).
pack
Упаковать все системные таблицы.
repair
Восстановить постоянные части испорченных системных таблиц.
repairlog
Восстановить переменные части испорченных системных таблиц.
Кроме интерактивного режима программу HTCTLG можно использовать в пакетном режиме. Для этого надо в текстовом файле разместить перечисленные выше команды и вызвать программу следующим образом:
HTCTLG.EXE < command_file
где command_file — имя файла с командами, которые надо выполнить.
Примеры пакетной проверки таблиц
Пример для пакетной проверки и упаковки системных таблиц. Считается, что файл инициализации уже создан.
Более сложный пример. В этом примере сначала программа HTCTLG запускается для проверки системных таблиц. Если проверка не прошла, то программа запускается для восстановления постоянных частей системных таблиц, а затем для повторной проверки системных таблиц.