sqlinsight-pro/src/SQLInsight.Collectors
Søren Eggert Lundsteen Olsen 66ed4e11b3 Review 1.4: AX 3.0/4.0 local times in the AX time zone, with its DST rules
Axapta 3.0 and AX 4.0 store batch and cleanup times as a local date plus
seconds. They were turned into UTC with the SQL Server's offset at collection
time, so every time from the other side of a DST change was an hour off (a job
planned 01:50 CET on the spring night looked 70 minutes late at 03:00 CEST),
and a SQL Server running UTC behind a CET AOS shifted every time.

AxLocalTime converts with the rules of the AX time zone on that date:
SQLInsight:DynamicsAx:LocalTimeZone (Windows or IANA id), else the agent's own
zone when its offset matches the SQL Server's, else the server's offset (to the
nearest quarter hour) with a Danish data note. The skipped spring hour and the
repeated autumn hour get standard time (deterministic, never throws, never a
false "late"); seconds outside 0..86400 are unknown and 86400 is midnight. The
AX 3.0 cleanup time is local by version, also when LATESTCLEANTIME is missing.
AX 2009+ UTC times are untouched. Also: remaining numbers cannot overflow for
HIGHEST = Int64.MaxValue, and run keys use the invariant culture.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-02 14:19:17 +02:00
..
Concurrency Dynamics AX collectors: shared detector, batch jobs, number sequences and RecId 2026-10-02 13:53:34 +02:00
Custom Dynamics AX: notice a GRANT within minutes, one AX lookup per custom-rule run 2026-10-02 13:54:36 +02:00
Databases Collectors: monitor only chosen databases; database discovery and permission check 2026-10-02 13:22:41 +02:00
Discovery Dynamics AX collectors: shared detector, batch jobs, number sequences and RecId 2026-10-02 13:53:34 +02:00
DynamicsAx Review 1.4: AX 3.0/4.0 local times in the AX time zone, with its DST rules 2026-10-02 14:19:17 +02:00
Instance SQL Scripts: one reviewable script per rule 2026-10-02 13:20:06 +02:00
Performance Collectors: monitor only chosen databases; database discovery and permission check 2026-10-02 13:22:41 +02:00
BuiltInCollectors.cs Dynamics AX collectors: shared detector, batch jobs, number sequences and RecId 2026-10-02 13:53:34 +02:00
Db.cs Dynamics AX collectors: shared detector, batch jobs, number sequences and RecId 2026-10-02 13:53:34 +02:00
ICollector.cs Collectors: monitor only chosen databases; database discovery and permission check 2026-10-02 13:22:41 +02:00
SQLInsight.Collectors.csproj Fase 1: collectors and rule pack (41 rules) 2026-09-29 06:17:08 +00:00