Ситуация: не фиксируется лог изменений.
Решение: проверить в журнале триггеров Quartz статусы и даты последнего обновления для [TsiChangeLogQueueProcessJobTrigger].
Для этого используйте скрипт:
SELECT CAST(HASHBYTES('MD4', t.SCHED_NAME + t.TRIGGER_NAME + t.TRIGGER_GROUP) AS UNIQUEIDENTIFIER) UsrId,
t.TRIGGER_NAME UsrTriggerName, -- Name,
t.TRIGGER_GROUP UsrTriggerGroup, -- Group
t.[DESCRIPTION] UsrDescription, -- Description
CAST(PREV_FIRE_TIME/864000000000.0 -693595.0 AS DATETIME) UsrPrevFireTime, -- Date of previous launch (UTC)
CAST(NEXT_FIRE_TIME/864000000000.0 -693595.0 AS DATETIME) UsrNextFireTime, -- Date of next launch (UTC)
TRIGGER_STATE UsrTriggerState, -- State
TRIGGER_TYPE UsrTriggerType, -- Type
CAST(START_TIME/864000000000.0 -693595.0 AS DATETIME) UsrStartTime, -- Start date (UTC)
CAST(END_TIME/864000000000.0 -693595.0 AS DATETIME) UsrEndTime, -- End date (UTC)
c.TIME_ZONE_ID UsrTimeZoneID, -- Time zone
c.CRON_EXPRESSION UsrCronExpression -- CRON expression (start frequency)
FROM QRTZ_TRIGGERS t
LEFT JOIN QRTZ_CRON_TRIGGERS c ON (c.SCHED_NAME = t.SCHED_NAME AND c.TRIGGER_NAME = t.TRIGGER_NAME
AND c.TRIGGER_GROUP = t.TRIGGER_GROUP)
where t.TRIGGER_NAME LIKE '%ChangeLog%'
Если в результате выполнения скрипта [UsrTriggerState] = «Bloсked» и/или [UsrNextFireTime] меньше текущей даты
, необходимо установить для поля [UsrNextFireTime]
значение текущей даты и времени с помощью [RunImmediate]
.
Более детально о работе Quartz описано по ссылке.