Мастер-Тур(15):Настройка заданий — различия между версиями
[досмотренная версия] | [досмотренная версия] |
Biryukov (обсуждение | вклад) |
Biryukov (обсуждение | вклад) |
||
(не показаны 4 промежуточные версии 2 участников) | |||
Строка 11: | Строка 11: | ||
<br /> | <br /> | ||
− | Для создания необходимых заданий необходимо выполнить скрипт по базе данных (''CreateJob_NameJob.sql''), который можно запросить у своего куратора (размещены по пути ''\\Scripts\utils\Jobs''). | + | Для создания необходимых заданий необходимо выполнить скрипт по базе данных (''CreateJob_NameJob.sql''), который можно запросить у своего куратора (размещены по пути ''\\Scripts\utils\Jobs''). Задания не должны работать одновременно. |
==Список стандартных заданий (Jobs)== | ==Список стандартных заданий (Jobs)== | ||
Строка 27: | Строка 27: | ||
Ниже задаются настройки (описаны в описании) | Ниже задаются настройки (описаны в описании) | ||
| 1 сутки<br />(ночью)<br /> | | 1 сутки<br />(ночью)<br /> | ||
− | | Удаляет данные из таблицы цен, ценовых пакетов и таблиц истории History, HistoryDetail, HistoryCosts.<br /> | + | | Удаляет данные из таблицы цен, ценовых пакетов и таблиц истории History, HistoryDetail, HistoryCosts, удаляются ценовые блоки без цен. <br /> |
− | Удаляется история, относящаяся к ценам, которые были удалены.<br /> | + | Удаляется история, относящаяся к ценам, которые были удалены.<br /> |
Параметры задания задаются в настройке шага задания.<br /> | Параметры задания задаются в настройке шага задания.<br /> | ||
Ниже указано описание настроек:<br /> | Ниже указано описание настроек:<br /> | ||
* @beginjob = '23:00:00' /* Время, с которого можно делать чистку. */ , | * @beginjob = '23:00:00' /* Время, с которого можно делать чистку. */ , | ||
* @endjob = '08:00:00' /* Время, во сколько чистка должна остановиться. */, | * @endjob = '08:00:00' /* Время, во сколько чистка должна остановиться. */, | ||
− | * @DaysAgo = '730' /* Количество дней, до которых будет проводиться удаление. Текущая дата минус указанное число дней. */, | + | * @DaysAgo = '730' /* Количество дней, до которых будет проводиться удаление. Текущая дата минус указанное число дней. Проверяются 3 даты: дата действия по, дата продажи по, дата заезда по. */, |
− | * @DateAgo = '' /* '2010-01-01' (формат для примера). Дата, до которой производится удаление. Значение приоритетней над @dayago. */, | + | * @DateAgo = '' /* '2010-01-01' (формат для примера). Дата, до которой производится удаление. Значение приоритетней над @dayago. Проверяются 3 даты: дата действия по, дата продажи по, дата заезда по. */, |
* @cleancosts = 1 /* Включить, если нужно чистить цены */, | * @cleancosts = 1 /* Включить, если нужно чистить цены */, | ||
* @cleanhistory = 1 /* Включить, если нужно чистить историю */, | * @cleanhistory = 1 /* Включить, если нужно чистить историю */, | ||
Строка 44: | Строка 44: | ||
* @exlude_cn_key_list = '' /* Список ключей стран исключений */, | * @exlude_cn_key_list = '' /* Список ключей стран исключений */, | ||
* @CountLines = 60000 /* Величина блока для удаления */ | * @CountLines = 60000 /* Величина блока для удаления */ | ||
+ | <br /><font style="color:red">''Внимание!''</font><br /> | ||
+ | Если ключ пакета указан в списке ключей для удаления и в списке ключей для исключения, то данный пакет будет удален. Исключение не отработает. Аналогично работает с ключами стран. | ||
|- | |- | ||
| Название БД_CleanCostsGDS<br /> | | Название БД_CleanCostsGDS<br /> | ||
Строка 58: | Строка 60: | ||
* @beginjob = '23:00:00' /* Время, с которого можно делать чистку. */ , | * @beginjob = '23:00:00' /* Время, с которого можно делать чистку. */ , | ||
* @endjob = '08:00:00' /* Время, во сколько чистка должна остановиться. */, | * @endjob = '08:00:00' /* Время, во сколько чистка должна остановиться. */, | ||
− | * @DaysAgo = '30' /* Количество дней. Текущая дата минус указанное число. */, | + | * @DaysAgo = '30' /* Количество дней. Текущая дата минус указанное число. Проверяются 3 даты: дата действия по, дата продажи по, дата заезда по. */, |
− | * @DateAgo = '' /* '2010-01-01' (формат для примера). Дата, до которой производится удаление. Значение приоритетней над @dayago. */, | + | * @DateAgo = '' /* '2010-01-01' (формат для примера). Дата, до которой производится удаление. Значение приоритетней над @dayago.Проверяются 3 даты: дата действия по, дата продажи по, дата заезда по. */, |
* @cleancosts = 1 /* Включить, если нужно чистить цены */, | * @cleancosts = 1 /* Включить, если нужно чистить цены */, | ||
* @deactivate = 1 /* Включить, если надо деактивировать ценовые блоки от даты удаления до текущего момента */, | * @deactivate = 1 /* Включить, если надо деактивировать ценовые блоки от даты удаления до текущего момента */, | ||
Строка 65: | Строка 67: | ||
* @cleanhistorycosts = 1 /* Включить, если нужно чистить историю цен */, | * @cleanhistorycosts = 1 /* Включить, если нужно чистить историю цен */, | ||
* @pkg_name = 'Nemo_ALL(внешняя система)' /* 'название пакета' Название пакета для удаления. Указано для примера. Единичный выбор. Поиск будет производиться через LIKE */, | * @pkg_name = 'Nemo_ALL(внешняя система)' /* 'название пакета' Название пакета для удаления. Указано для примера. Единичный выбор. Поиск будет производиться через LIKE */, | ||
− | * @pkg_key_list = '' /* '3284,456' Можно указать ключи пакетов через запятую. Если не использовать, то оставить Null или ''. */, | + | * @pkg_key_list = '' /* '3284,456' '''Обазательный параметр'''.Можно указать ключи пакетов через запятую. Если не использовать, то оставить Null или ''. */, |
* @partner_name = 'Nemo_ALL(внешняя система)' /* Название партнера указано для примера. Поиск будет производится через LIKE */, | * @partner_name = 'Nemo_ALL(внешняя система)' /* Название партнера указано для примера. Поиск будет производится через LIKE */, | ||
− | * @partner_key_list = '' /* '3284,456' Можно указать ключи партнеров через запятую. Если не использовать, то оставить Null или '' */, | + | * @partner_key_list = '' /* '3284,456' '''Обазательный параметр'''. Можно указать ключи партнеров через запятую. Если не использовать, то оставить Null или '' */, |
* @exlude_pkg_key_list = '' /* Список ключей пакетов исключений. Указывается через запятую. */, | * @exlude_pkg_key_list = '' /* Список ключей пакетов исключений. Указывается через запятую. */, | ||
* @exlude_partner_key_list = '' /* Список ключей партнеров исключений. Указывается через запятую. */, | * @exlude_partner_key_list = '' /* Список ключей партнеров исключений. Указывается через запятую. */, | ||
* @svkey = 1 /* Ключ услуги для обработки (1 – авиаперелет, 3 – отель)*/, | * @svkey = 1 /* Ключ услуги для обработки (1 – авиаперелет, 3 – отель)*/, | ||
* @CountLines = 50000 /* Величина блока для удаления */ | * @CountLines = 50000 /* Величина блока для удаления */ | ||
+ | <br /><font style="color:red">''Внимание!''</font><br /> | ||
+ | Если ключ пакета указан в списке ключей для удаления и в списке ключей для исключения, то данный пакет будет удален. Исключение не отработает. Аналогично работает с ключами партнеров. | ||
|- | |- | ||
| Название БД_CleanHistory<br /> | | Название БД_CleanHistory<br /> |
Текущая версия на 09:47, 20 декабря 2023
Версия статьи от 20.12.2023. Для перехода на версию статьи, соответствующую используемой Вами версии программы, нажмите ссылку в таблице:
Содержание
Введение
Статья предназначена для системных администраторов, контролирующих работоспособность ПК «Мастер-Тур 15». Статья описывает какие задания (Jobs) необходимо установить, чтобы постоянно очищать базу данных от устаревших и ненужных данных, а также проводить обслуживание таблиц, что положительно влияет на общую производительность ПК.
Создание заданий (Jobs)
Перед созданием заданий необходимо убедиться, что установлен и запущен SQL Server Agent. При использовании Express-издания Microsoft SQL Server вместо заданий sql-сервера используется планировщик заданий Windows
Для создания необходимых заданий необходимо выполнить скрипт по базе данных (CreateJob_NameJob.sql), который можно запросить у своего куратора (размещены по пути \\Scripts\utils\Jobs). Задания не должны работать одновременно.
Список стандартных заданий (Jobs)
Название задания (Job Name) | Запускаемая хранимая процедура | Интервал запуска | Описание |
Название БД_CleanCosts Обрабатывается с релиза 15.8, stable 2023.10 |
SET DATEFORMAT YMD
Maintenance_CleanCost_job |
1 сутки (ночью) |
Удаляет данные из таблицы цен, ценовых пакетов и таблиц истории History, HistoryDetail, HistoryCosts, удаляются ценовые блоки без цен. Удаляется история, относящаяся к ценам, которые были удалены.
|
Название БД_CleanCostsGDS Обрабатывается с релиза 15.8, stable 2023.10 |
SET DATEFORMAT YMD
Maintenance_CleanCostsGDS_job |
1 сутки (ночью) |
Основным назначением задания является чистка цен и истории цен от GDS адаптеров. Удаляются цены и пустые ценовые блоки старше указанного количества дней. Ценовые блоки от указанного
|
Название БД_CleanHistory Обрабатывается с релиза 15.8, stable 2023.10 |
SET DATEFORMAT YMD
Maintenance_CleanHistory_job |
1 сутки (ночью) |
Удаляет данные из таблицы истории History, HistoryDetail, HistoryCosts. Не удаляются строки, если заполнено поле hi_dgcod (т.е. информация относится к путевке).
Также после выполнения задания по очистке истории рекомендуется отдельно последовательно выполнить скрипты Defrag_history.sql и Defrag_HistoryDetail.sql для дефрагментации таблиц истории (строго во внерабочее время). Эти скрипты можно запросить у своего куратора. |
Название БД_Reindex | Maintenance_reindex_job | 1 сутки (ночью) |
Производится обслуживание таблиц и статистики на таблицах в базе данных. Задание рекомендовано как замена штатных средств sql сервера, т.к. действия основываются на |
Название БД_StatsUpdate
Обрабатывается с релиза 15.8, stable 2023.10 |
Maintenance_stats_run | 1 сутки (ночью) |
Задание обновления статистики в таблицах базы данных на основе изменения данных и веса таблицы в работе. Задание рекомендуется использовать только по согласованию с куратором, если массовые изменения данных после |
Список нестандартных заданий (Jobs) - скоро будут удалены, так как будет их замена
Название задания (Job Name) | Запускаемая хранимая процедура | Интервал запуска | Описание |
Задание создать самостоятельно. Название БД_CostOffer_deactivate |
Содержимое файла CostOffer_deactivate.sql | 1 сутки (ночью) |
При работе с актуализацией цен Авиа GDS в базе данных создается значительное количество цен. Данный скрипт производит поиск неактуальных ценовых блоков, в которых есть цены, созданные механизмом обновления цен с прошедшими датами и деактивирует их. В скрипте необходимо задать название пакета и партнера Пример: PR_NAME = 'Nemo(внешняя система)' TL_NAME = 'Nemo(внешняя система)' Скрипт можно запросить у своего куратора. Содержимое скрипта целиком разместить в задании. |
Название БД_CleanHistory Обрабатывается с релиза 15.8 |
SET DATEFORMAT YMD
Maintenance_CleanHistory_job |
1 сутки (ночью) |
Производит очистку таблиц History и HistoryDetails за Х дней, кроме данных по путевкам. В хранимой процедуре Maintenance_CleanHistory_job в параметрах @BeginJob и @EndJob можно задать время, в которое можно проводить обслуживание. По умолчанию установлено время с 23:00 до 08:00. |
Регламентные работы, рекомендованные Microsoft
В процессе эксплуатации системы рекомендуется проводить регламентные работы с помощью мастера планов обслуживания в SQL Server.
Мастер планов обслуживания создает план обслуживания, который агент Microsoft SQL Server может выполняться регулярно. Это позволяет выполнять различные задачи администрирования базы данных, включая резервное копирование, проверки целостности базы данных или обновление статистики базы данных через указанные интервалы времени.
Обратите внимание, что описанный в статье блок по реорганизации индекса reindex нужно пропустить. Наш reindex, который мы предоставляем – реализован с учетом особенностей нашего ПО.
Внутренние скрипты
Разработан скрипт для удаления акций по параметрам.
Расположен по пути \\Scripts\utils\Cleaning\Clean_Specials.sql
Запросить его можно у своего куратора.