You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Mirror the Dashboard CDC long-running-query exclusion in Lite so both apps
behave identically.
Lite reads collected DuckDB snapshots and stores only statement-level
query text, which can't carry the CDC proc name -- so the detection runs
in the COLLECTOR (against the live server), where the whole batch/object
text and msdb are available, and the result is stored as a per-row flag:
- query_snapshots gains an is_cdc_capture BOOLEAN (schema v28 migration,
ALTER ... ADD COLUMN IF NOT EXISTS, appended last to match the appender).
- The non-Azure collector template computes is_cdc_capture with the same
two-tier logic as Dashboard: program_name -> job_id via msdb.dbo.cdc_jobs
(deferred through sp_executesql in TRY/CATCH), text fallback on the whole
dest.text when msdb is unreadable. Azure SQL DB has no Agent/msdb, so it
is hard-coded 0 there.
- GetLongRunningQueriesAsync filters COALESCE(is_cdc_capture, FALSE) = FALSE
when the new LongRunningQueryExcludeCdc toggle (default on) is set.
- Settings checkbox + App static + JSON load/save, mirroring the existing
four wait_type exclusion toggles.
The schema-evolution-tolerant archive views (UNION ALL BY NAME +
union_by_name=true) keep old parquet compatible. Collector SQL validated
against SQL 2016: prologue falls back cleanly when cdc_jobs is absent and
the is_cdc_capture column computes without error.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
0 commit comments