v3.3.0 - 5 additive enhancements
Additive enhancements (5 issues)
- gh-423:
@JobNameinput param -- optional caller tag written toCONTEXT_INFOon entry, restored on exit. Visible in Extended Events sessions andsys.dm_exec_requests. - gh-425:
@DeadWorkerTimeoutMinutesNULL coercion (30 min floor) + cross-QueueID stale-row sweep on parallel leader path. Prevents phantom worker inflation from killed prior runs. - gh-426:
@WarningsCodesOutOUTPUT param -- pipe-delimited stable code tokens (e.g.AG_REDO_ELEVATED|TEMPDB_LOW) paired with human-readable@WarningsOutfor programmatic parsing. - gh-427:
@SkipTablesWithNCCI/@SkipTablesWithCCIparams replace the single internal columnstore skip flag with per-type controls. Default: skip NCCI (Y), update CCI (N). - gh-428: Parallel pre-flight -- AG-secondary guard (hard block) and orphan-row backlog warning (>100 rows) run before queue init when
@StatsInParallel = Y.
Post-landing fix
SET CONTEXT_INFO rejects NULL. Both restore sites (early-return and final exit) now guard with IF NULL → SET CONTEXT_INFO 0x to support callers with no prior context.
Test results
Compile 3/3, V3Extended 48/48, V3Fixes 30/30, V3Coverage 30/30 across SQL 2019/2022/2025. Total: 111/111 PASS.
Research outcome (#424)
UPDATE STATISTICS is fully atomic when externally KILLed on SQL 2019/2022/2025 -- modification_counter, last_updated, STATS_DATE(), and rows all remain unchanged. @StopByTime is a launch-gate (not a KILL), so stats remain re-pickable after external kills. No code change required.