Skip to content

v3.3.0 - 5 additive enhancements

Choose a tag to compare

@nanoDBA nanoDBA released this 18 Apr 11:50
· 68 commits to main since this release

Additive enhancements (5 issues)

  • gh-423: @JobName input param -- optional caller tag written to CONTEXT_INFO on entry, restored on exit. Visible in Extended Events sessions and sys.dm_exec_requests.
  • gh-425: @DeadWorkerTimeoutMinutes NULL coercion (30 min floor) + cross-QueueID stale-row sweep on parallel leader path. Prevents phantom worker inflation from killed prior runs.
  • gh-426: @WarningsCodesOut OUTPUT param -- pipe-delimited stable code tokens (e.g. AG_REDO_ELEVATED|TEMPDB_LOW) paired with human-readable @WarningsOut for programmatic parsing.
  • gh-427: @SkipTablesWithNCCI / @SkipTablesWithCCI params 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.