Merged
Conversation
…ions sp_QuickieStore: added sys.dm_db_tuning_recommendations to Expert Mode output
…items @find_high_impact = 1 identifies the vital few queries consuming disproportionate resources. Scores queries across 6 dimensions (CPU, duration, reads, writes, memory, executions) using PERCENT_RANK, shows share-of-total per metric, and surfaces diagnostic signals (parameter sensitivity, plan instability, spills, wait time). Tested on SQL Server 2016-2025. Also fixes two items from Reece's tuning recommendations PR (#691): - SUBSTRING parsing: added IIF fallback when CHARINDEX returns 0 so field reordering in future SQL Server versions won't throw Msg 536 (invalid length parameter) - OUTER APPLY for plan_force_recommendation_status: pulled into its own @new = 1 AND @expert_mode = 1 block so it doesn't run as wasted work when expert mode is off Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…high_impact Applied SWITCHOFFSET (or AT TIME ZONE when @Timezone is set) to the start_date and end_date columns in the high impact output, matching how the normal analysis displays execution times. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
… output Renamed reads_share to physical_reads_share, and updated high_signals and volatile_metrics to say "physical reads" instead of just "reads" to avoid confusion with logical reads. Also updated help text. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
#692) When indexes form a chain of key subsets (A ⊂ B ⊂ C), Rule 3 assigned each subset to its nearest superset (A → B, B → C). Rule 6 only collected includes from direct subsets of the final superset, so transitive subsets' include columns were silently dropped from the merge script. Added chain resolution between Rule 3 and Rule 4 that flattens A → B → C into A → C, so all include columns propagate correctly. Also fixed superseded_by text to aggregate all subset names via FOR XML PATH when multiple subsets target the same superset, instead of non-deterministically picking one. Tested on SQL Server 2016, 2017, 2019, 2022. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add parallel efficiency metric using (cpu/elapsed - 1) / (dop - 1) formula to score how effectively queries use parallelism. Also add four new diagnostic rules: - intermittent waits: duration volatile but CPU stable (external waits) - rare but expensive: low execution count but high resource share - adhoc bloat: many query_id variants per query_hash - scan heavy: high physical reads per execution Tested clean on sql2016-sql2025 across PerformanceMonitor, StackOverflow2013, StackOverflow2010, and hammerdb_tpch databases. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…act (#693) New result set fires before the query details showing what percentage of total resources the surfaced queries account for. Classifies workloads as Concentrated (>= 50%), Moderate (25-49%), or Flat (< 25%) with actionable recommendations for each profile. Helps users identify "death by a thousand cuts" workloads where no single query dominates. Tested on sql2016, sql2017, sql2022, sql2025. Also adds documentation to the @help output explaining the new columns. Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
SELECT INTO with OPTION(RECOMPILE) produces parallel insert plans that cause massive LATCH_EX waits on tempdb allocation pages — even when zero rows are produced (common with @warnings_only = 1). Actual execution plans showed 253 seconds of cumulative LATCH_EX across 6 queries, with trivial CPU time (41-183ms). Each query spawned 8 parallel threads spending 7+ seconds each in latch coordination over empty result sets. Adding MAXDOP 1 eliminates the parallel insert while preserving RECOMPILE for plan optimization. Tested on SQL Server 2022: Before: 50-54 seconds (avg 52,332ms) After: 4-5 seconds (avg 4,684ms) ~10x improvement. Results consistent at idle and under TPC-H load. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…dop1-select-into sp_HealthParser: add MAXDOP 1 to SELECT INTO queries
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…ind_high_impact INSERT...EXEC captures all result sets, not just the first. The batch had three SELECTs (queries, plans, objects) so plan_ids and object_ids were concatenated into #hi_id_staging_queries. Removed the extra two SELECTs since they are already executed separately below. Tested on SQL2022 against PerformanceMonitor and hammerdb_tpcc. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…pact Previously any query with >1 plan was flagged, which produced false positives on stable workloads with many executions. Now requires fewer than 5 executions per plan (frequent recompilation) and excludes queries with RECOMPILE hints where multiple plans are expected. Tested on SQL2022 against PerformanceMonitor and hammerdb_tpcc. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Converts bug report, feature request, and question templates from freeform markdown to structured YAML forms with enforced required fields. Adds config.yml to disable blank issues and link to Discussions. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Replace markdown issue templates with YAML issue forms
Version bumps (x.3 → x.4, date → 20260401): - sp_HealthParser 3.4 - sp_HumanEvents 7.4 - sp_HumanEventsBlockViewer 5.4 - sp_IndexCleanup 2.4 - sp_LogHunter 3.4 - sp_PerfCheck 2.4 - sp_PressureDetector 6.4 - sp_QueryReproBuilder 1.4 - sp_QueryStoreCleanup 1.4 - sp_QuickieStore 6.4 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…ease Bump all SP versions for April 2026 release
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
April 2026 release — all stored procedures bumped to x.4 / 20260401.
Changes
@find_high_impactparameter with diagnostics (plan instability, workload concentration, physical reads clarification, local time display, bug fixes)sys.dm_db_tuning_recommendationsin Expert Mode output (sp_QuickieStore: See if dm_db_tuning_recommendations would make a useful addition. #483)Version Matrix
🤖 Generated with Claude Code