Запуск/останов сервера по расписанию используется обычно для выполнения действий по администрированию, которые нельзя выполнить при работающем сервере, например, действий по резервному копированию базы данных в согласованном состоянии, упаковке таблиц, проверке целостности базы данных. Типичная последовательность действий:
· Старт сервера;
· Останов сервера по расписанию;
· Выполнение действий по администрированию (процедуры регламента);
· Повторный старт сервера.
В HyTech существует утилита HTAT которая:
· Запускает один или несколько (до 64) HyTech SQL серверов,
· В заданные моменты времени останавливает сервера и запускает нужный командный файл, выполняющий действия по администрированию (процедуру регламента);
· После окончания работы командного файла запускает серверы вновь.
Для запуска утилиты HTAT необходимо:
· Перейти в домашний каталог сервера;
· Запустить программу htat.exe
Запуску htat.exe предшествуют действия по созданию конфигурационного файла. Утилита HTAT использует конфигурационный файл с именем htat.ini, находящийся в том же каталоге, что и запускаемая программа HTAT. Конфигурационный файл является специальным текстовым файлом, содержащим пары <имя_ключа=значение>, которые используются программой во время загрузки. Пары <имя_ключа=значение> объединены в разделы. Каждый раздел имеет имя, которое помещается в начало раздела и заключается в квадратные скобки. Текст в конфигурационном файле должен быть в кодировке Windows-1251.
Данные, используемые программой, содержатся в разделе [Parameters]. Допустимые параметры приведены в таблице:
Раздел [Parameters]
Ключ
Тип значения
Назначение
Значение по умолчанию
UpdateCommand
Строка
Командная строка процедуры регламента.
Обязательный параметр
UpdatePath
Строка
Рабочий каталог процедуры регламента.
Каталог запуска HTAT
ServerCommand
Строка
Командная строка для запускаемого сервера.
sql64.exe
ServerPath
Строка
Каталог, который будет текущим для запускаемого сервера.
Каталог программы, заданной ServerCommand
ServerTitle
Строка
Заголовок окна, в котором будет запущен сервер.
Назначается операционной системой.
ServerKill
Строка
Параметр задает местное время, когда надо остановить сервер. Время задается в виде HH:MM, где HH — часы, а MM — минуты. Например: 05:00 — для остановки сервера в 5 часов утра. Для правильной работы программы необходимо правильно установить в системе временную зону и период действия летнего времени.
Можно задать до 10 времён останова, разделяя их запятыми.
Например:
5:00,11:45,23:30
В этом случае сервер будет останавливаться трижды в день.
Данный параметр влияет на время остановки всех запущенных серверов. Если надо сделать индивидуальное время останова какого-либо сервера, то придётся запустить другую копию программы HTAT с другим конфигурационным файлом.
23:30
AutoRestart
Логический (yes/no)
Параметр определяет, нужно ли перезапускать сервер, если запущенный сервер "исчезнет" или будет случайно завершен.
yes – Перезапустить сервер, не спрашивая.
no – Не перезапускать сервер, в этом случае количество наблюдаемых серверов уменьшится на 1.
no – сервер не перезапускать.
LogFile
Строка
Имя файла для протокола. Если параметр опущен, то протокол не пишется.
Протокол не ведется.
FatalCode
Число без знака
Параметр задает допустимый код завершения командного файла. Если командный файл вернет код, больший указанного, сервер запускаться не будет.
Код завершения не анализируется.
RunMinimized
Логический (yes/no)
yes – Серверы после запуска сразу минимизируются.
no – Серверы запускаются в обычном режиме.
no
ServerCount
Число от 1 до 64
Количество запускаемых серверов.
TimeOut
Число без знака
Время ожидания завершения сервера/серверов до их принудительного снятия для выполнения процедуры регламента. Задается в секундах.
10 сек + 2 сек. на каждый сервер, начиная со второго.
ServerCommand2
…
ServerCommandN
Строка
Командная строка для 2-ого и последующих запускаемых серверов, количеством до ServerCount.
Обязательный параметр, если был задан параметр ServerCount со значением, большим 1.
ServerPath2
…
ServerPathN
Строка
Каталог запуска для 2-ого и последующих запускаемых серверов, количеством до ServerCount.
Каталог программы, заданной ServerCommand2... ServerCommandN соответственно.
ServerTitle2
…
ServerTitleN
Строка
Заголовок окна, в котором будет запущен 2-ой и последующие серверы.
Назначается операционной системой.
AutoRestart2
…
AutoRestartN
Логический (yes/no)
Если сервер с соответствующим номером «исчезнет» или будет случайно завершен, перезапускать его, не спрашивая. Значения этих параметры аналогичны параметру AutoRestart
-
Пример:
Пусть HyTech SQL сервер располагается в каталоге C:\HYTECH. Командный файл для копирования базы данных располагается в каталоге C:\HYTECH\BASE. Необходимо проводить копирование в 11 часов вечера. При внештатном завершении сервера автоматически перезапустить его. Конфигурационный файл в этом случае будет следующий:
Мониторинг действий сервера - мониторинг из окна приложения сервера
Мониторинг действий сервера может быть выполнен двумя способами:
· Непосредственно в окне приложения сервера;
· С использованием лог-файла.
При запуске сервера появляется окно с заголовком «Сообщения». В данное окно выводится информация о поступающих SLQ запросах, о ходе выполнения этих запросов, разная отладочная информация, информация об ошибках в текстах SQL запросов, информация об ошибках, возникающих при обработке SQL запросов.
Внимание! Пока идет вывод в окно «Сообщения», работа сервера тормозится. Чтобы не терять производительности сервера, окно «Сообщения» лучше держать закрытым при работе в штатном режиме эксплуатации (т.е. при обычной работе пользователей с сервером). В то же время, окно «Сообщения» можно держать открытым при отладке прикладных программ, так как оно, наравне с функцией usersend и записью информации в лог, является источником диагностических сообщений об обрабатываемых запросах и возникающих ошибках.
Для упрощения отладки в коде клиентского приложения может быть использована встроенная функция console. Данная функция выводит указанный текст в окно сообщений сервера.
Формат вызова:
sValue = console(sText);
Аргументы:
Аргумент
Тип
Значение
sText
character
Выводимый текст.
Результат:
Тип
Значение
character
Выведенная строка.
Для упрощения отладки также может использоваться режим расширенной диагностики. Соответствующий параметр настраивается в файле инициализации в разделах [SQL процесс] и [Системный процесс]:
Ключ
Тип значения
Назначение
Значение по умолчанию
Verbose
числовой
Параметр разрешает или запрещает выдачу расширенной диагностики.
0 (Расширенная диагностика запрещена). Обычно расширенная диагностика применяется для отладки прикладных программ.