What's new
sp_HumanEventsBlockViewer (5.7)
The blocking rollup got a lot smarter this month.
- Contended object resolution (#812): the rollup decodes
wait_resourceand tells you which object sessions are fighting over, instead of leaving you to translate page/key IDs by hand. - Non-lock and self-blocking netted out (#806): lock-count findings 1 and 2 no longer fold non-lock waits and self-blocking into the totals, so the numbers reflect actual lock contention.
- Procedure names in the Top Lead Blocker rollup: a lead blocker running inside a procedure now resolves to the procedure name.
@skip_execution_plans: skip plan collection when you only care about the blocking chain.
sp_IndexCleanup (2.7)
- Filtered-index fix scripts: emits corrected definitions for filtered indexes instead of skipping them.
- Compression candidates: counts clustered compression candidates and orders the compression output by size.
- Filegroup / partition-scheme aware:
original_index_definitioncarries the correctON [filegroup|partition_scheme]clause andOPTIMIZE_FOR_SEQUENTIAL_KEY. - No more silent early exit (#801): when index usage stats are empty it says so, instead of quietly returning nothing.
- Accurate UDF detection: replaced the
LIKEheuristic (which misfired on computed columns, check constraints, and schema-qualified system functions) withsys.sql_expression_dependencies.
sp_QueryReproBuilder (1.7)
- Include filters now intersect (seed then narrow) instead of union.
- New hash and handle filters (#810) to target a specific query or plan.
sp_QuickieCache (1.7)
- Clickable query text XML in the results.
- Reconciled plan-cache health counts (
@total_cached_plansvs@total_plans).
sp_PressureDetector (6.7)
- Surfaces version store cleanup blockers in the tempdb output, so a stuck long-running transaction pinning version store space is visible.
sp_HumanEvents (7.7)
- Executions fix (#802, #803): the
HumanEvents_Queriesview no longer reports executions as always 1, and no longer double-counts them. - CATCH hardening (#807): cleanup in the CATCH block no longer masks the original pre-creation error.
- Sort by event_time (#795): query results can be ordered by when they happened.
Behind the scenes
- Restored
SET ANSI_NULLS ONandSET ANSI_PADDING ONto the sp_IndexCleanup, sp_PerfCheck, and sp_QuickieCache headers so every procedure shares the same session settings. No behavior change. - Standard version bumps across the rest of the suite: sp_HealthParser 3.7, sp_LogHunter 3.7, sp_PerfCheck 2.7, sp_QuickieStore 6.7.
Install / upgrade
Every procedure is a single self-contained .sql file with no helper objects and no dependencies. Pull the latest file and run it in SSMS, or grab the bundled Install-All/DarlingData.sql.
Thanks
To everyone who filed issues, tested fixes, and pushed back when something did not work this month.