Skip to content

Cut three legacy pressure-noise rules (keep TokenAndPerm)#1063

Merged
erikdarlingdata merged 1 commit into
devfrom
fix/cut-pressure-noise-rules
Jun 5, 2026
Merged

Cut three legacy pressure-noise rules (keep TokenAndPerm)#1063
erikdarlingdata merged 1 commit into
devfrom
fix/cut-pressure-noise-rules

Conversation

@erikdarlingdata
Copy link
Copy Markdown
Owner

What

The legacy configuration_issues_analyzer surfaced three noise rule families into the Recommendations tab: Memory Pressure (buffer-pool/plan-cache >10% drop in 5 min), Memory Grant Pressure, CPU Scheduling Pressure. Each fires on a short-window delta, doesn't quantify it, gives a circular SELECT * FROM collect.<self> "investigate" query, and duplicates — worse — the analysis-engine facts that already cover those signals (RESOURCE_SEMAPHORE/MEMORY_GRANT_PENDING/SOS_SCHEDULER_YIELD/THREADPOOL).

On a healthy server (e.g. SQL2022) these were literally the only "recommendations" showing — making a clean instance look broken.

Change

  • Removed the three INSERT blocks from collect.configuration_issues_analyzer (install/50, −365 lines). Validated: the proc re-creates and EXECs clean on sql2022.
  • Kept the actionable rules. In particular "Memory Clerk Growth" is the TokenAndPermUserStore bloat check — quantified (GB grown), actionable (DBCC FREESYSTEMCACHE), real 1GB threshold, and not covered by any engine fact — so it stays, and I un-suppressed it in RecommendationsReader (the reader still filters the three genuine-noise problem-areas for already-persisted rows).

The Recommendations affordance rework already replaced the raw "investigate query" with a dashboard deep-link + an MCP "Ask AI" prompt; this removes the noise rules at the source.

Tests

Dashboard builds 0 errors; install/50 validated against a live SQL Server (proc compiles + runs). CI's SQL Server 2017/2019/2022/2025 install tests exercise the modified script.

🤖 Generated with Claude Code

…lyzer

The Memory Pressure (buffer-pool/plan-cache >10% drop in 5 min), Memory Grant
Pressure, and CPU Scheduling Pressure rules are noise: they fire on short-window
deltas, don't quantify the delta, hand back a circular "SELECT * FROM
collect.<self>" investigate query, and duplicate (worse) the analysis-engine
facts that already cover those signals with real advice (RESOURCE_SEMAPHORE /
MEMORY_GRANT_PENDING / SOS_SCHEDULER_YIELD / THREADPOOL). Removed the three
INSERT blocks from collect.configuration_issues_analyzer (validated: proc
re-creates + EXECs clean on sql2022).

KEPT the actionable config rules (Query Store, auto_shrink/close, MAXDOP/CTFP,
server config, memory dumps) and — importantly — the "Memory Clerk Growth" rule,
which is actually the TokenAndPermUserStore bloat check: quantified (GB grown),
actionable (DBCC FREESYSTEMCACHE), real 1GB threshold, not covered by any engine
fact. Un-suppressed it in the Recommendations reader accordingly (the reader
still filters the three genuine-noise problem-areas for existing rows).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@erikdarlingdata erikdarlingdata merged commit 4cf4bd4 into dev Jun 5, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant