Blog Posts
- SQL Server Untrusted Constraint: Why Plans Quietly Rotby Steve StedmanA SQL Server untrusted constraint breaks nothing and costs you plan quality everywhere. Here is how to find them, rank them and re-check them safely.
- Pending RECONFIGURE: Find Settings That Never Took Effectby Steve StedmanA pending RECONFIGURE means a setting you changed is not the one SQL Server is running. Here is how to spot it, and what else the settings list gives away.
- Database Health Monitor 4.1743: Query Tuning Workbench, Backup SLA Policies and 920 Fixesby Steve StedmanVersion 4.1743 adds the Query Tuning Workbench, Backup SLA policies with a compliance report and alert, a Default Trace Events report, safer Quick Scan fixes, easier navigation and 920 fixes.
- SQL Server Connections: Who Is on Your Database?by Steve StedmanTwenty SQL Server connections can be healthy or a leak. Split them into running and sleeping, spot the open transaction and the sa login, then act.
- Wait Based Tuning: Which Part of the Bar to Read Firstby Steve StedmanWait based tuning starts with one question: is this query running or waiting? Read the Waits by Query report in the right order.
- SQL Server Disabled Index: Why Your Query Ignores Itby Steve StedmanA SQL Server disabled index sits in the catalog and does nothing. Here is how to find it, plus the low fill factor and hypothetical indexes hiding beside it.
- SQL Server Missing Indexes: Read Write Cost Firstby Steve StedmanSQL Server missing indexes look like free speed until the writes pay for them. Learn to weigh benefit against write cost before you build anything.
- Silent Job Failure: Read Missed Runs in This Orderby Steve StedmanA silent job failure writes no history and raises no alert. Here is the order to read the Missed Runs report so the gaps tell you what happened.
- SQL Server Plan Cache: Which Database Is Eating Memory?by Steve StedmanYour SQL Server plan cache is memory that is not holding data pages. Split it by database, compare size to query count, and find the ad hoc SQL wasting it.
- SQL Server CPU History: Read a Week in One Glanceby Steve StedmanYour SQL Server CPU history is a wall of spikes on a line chart. A heat map by hour and day shows the weekly pattern and the one day that broke it.
- SQL Server Seek vs Scan: Why a Flat Read Count Liesby Steve StedmanA flat read count can hide an index sliding from seeks to scans. Here is how the SQL Server seek vs scan ratio exposes it before queries slow down.
- SQL Code Smells: Unindexed Range Predicatesby Mitchell GlasscockWhen a query filters a large table on a range, like a date window, and no index supports that range, SQL Server scans the table. Put that scan inside a subquery that gets joined to other inputs, and a query that should take seconds can run for hours. In a recent case, one covering index took a query from almost two hours in the worst case down to about four seconds. What is an unindexed range …
- What’s New in Database Health Monitor 4.1626: Index Consolidation, Service Broker, Data Protection, Analysis Services and a Web Dashboardby Steve StedmanDatabase Health Monitor 4.1626 adds an Index Consolidation Plan with a rollback script, reports for Service Broker, data protection and Analysis Services, and an opt-in read-only web dashboard.
- msdb suspect_pages: Read the Date Before the Countby Steve StedmanA walkthrough of the Suspect Pages report and the msdb suspect_pages table behind it: which column to read first, and how to spot a page still failing.
- How Big Should master Be? What a Normal Size Isby Steve StedmanHow big should master be? A few megabytes is normal. Anything larger holds somebody’s data. See what the size means and what to check next.
- Who Can See SSRS Reports? Check Broken Inheritanceby Steve StedmanWho can see SSRS reports on your server? Find the items that broke inheritance, the hidden Content Managers and the users who left, straight from the catalog.
- Database Health Monitor 4.1625: 29 New Reports, 12 New Alerts and a Redesigned Performance Dashboardby Steve StedmanVersion 4.1625 adds 29 reports, 12 built-in alerts plus custom T-SQL alerts, a rebuilt performance dashboard, sensitive data discovery and 934 fixes. Here is the complete tour, report by report.
- msdb Is Too Big? Here’s What’s Actually Filling Itby Steve Stedmanmsdb is too big because backup history, job history, and mail logs pile up forever. See what’s filling it and how many days each source holds.
- Finding the Statement Inside a Loop in SQL Serverby Steve StedmanSpot the statement inside a loop running thousands of times inside a busy procedure, using Query Store data compared within its own module.
- Is Your SQL Server Response Time Target Being Met?by Steve StedmanYour SQL Server response time target means nothing until you can see what share of executions actually meet it, and which queries don’t.
- Is a SQL Server Query Regression Statistically Significant?by Steve StedmanSee whether it is a SQL Server query regression statistically significant, or just noise from Query Store, before you tune anything.
- Mastering Disaster Recovery with Our SQL Server Backup and Restore Courseby Steve StedmanIn the digital era, a robust disaster recovery plan focusing on data backup and restore is more crucial than ever. A simple error, hardware failure, or a crippling cyber-attack could spell disaster for your invaluable SQL Server data. Businesses that rely heavily on data face the most substantial risks. Stedman’s SQL Server Backup and Recovery Course is here to offer a comprehensive solution to these challenges. Read on to learn how this course provides a bulletproof …
Mastering Disaster Recovery with Our SQL Server Backup and Restore Course Read more →
- Inside Database Health Monitor 4.1540: 63 New Reports, 25 Features and 515 Fixesby Steve StedmanDatabase Health Monitor 4.1540 adds a 25 report Query Store suite, a 15 report SSRS suite, 23 new Azure SQL Health Monitor reports, 25 new features and 515 bug fixes. Here is what changed and why it matters.
- Is This Query Slower Than Normal? Ask Its Own Historyby Steve StedmanIs this query slower than normal? Learn how per-query limits from Query Store history separate a real slowdown from ordinary wobble.
- master Backup Out of Date? Here’s How to Check Itby Steve StedmanA master backup out of date can pass every check and still miss logins, role grants, and linked servers created since it ran. Here’s how to see the gap.
- Elevate Your Database Health with a Robust Backup and Recovery Plan: Limited-Time Offer on SQL Server Courseby Steve StedmanHello! Steve Stedman here. Today, I’d like to emphasize the critical importance of maintaining the health of your SQL Server database through an unshakeable backup and recovery plan. Why? Because in our data-driven world, the absence of a comprehensive backup strategy can spell disaster for your organization. This is precisely why I’ve designed a specialized Backup and Recovery Course for SQL Server, and I am thrilled to shaer a limited-time 25% discount on this indispensable resource. …
- Database Health Monitor 4.1517by Steve StedmanDatabase Health Monitor and Azure SQL Health Monitor, Version 4.1517 This release adds ninety new reports, a drill-through navigation layer that connects them, actions that carry a fix from one instance to the rest of the estate, and a large pass over silent failures. If you knew the symptom but not the page, or fixed one server and then had to repeat the fix by hand on the other twelve, this release is aimed at you. 90 …
- SQL Server Job Slow When Others Run? Here’s Whyby Steve StedmanA job slow when others run isn’t a broken package. See how Database Health Monitor’s Subsystem Load report finds the Agent worker limit causing it.
- Why Autogrowth in Percent Slows SQL Server Downby Steve StedmanAutogrowth in percent compounds: every growth event takes longer than the last. Here’s how to spot it and fix it before it slows down SQL Server.
- SQL Server Technical Debt: Where to Start Fixing Itby Steve StedmanSQL Server technical debt turns messy T-SQL into a weighted score and a cost estimate, so you know which procedure to fix first.
- Why a Wide Clustered Index Costs More Than You Thinkby Steve StedmanA wide clustered index gets copied into every nonclustered index on the table – here is how to find the ones actually costing you.
- Who Changed the Schema? Find Out in SQL Serverby Steve StedmanSee who changed the schema in SQL Server: the exact statement, login, host and application, captured by a DDL trigger you switch on per database.
- Database Health Monitor Version 4 Has Been Releasedby Mitchell GlasscockWe’re excited to announce that Database Health Monitor Version 4 is now available! Version 4 represents one of the biggest updates to Database Health Monitor since its original release. While the most obvious change is the completely redesigned interface, this release goes far beyond a visual refresh. We’ve rebuilt and improved nearly every part of the application to make it easier to understand what is happening inside your SQL Server environment and to provide more useful …
Database Health Monitor Version 4 Has Been Released Read more →
- Find the SQL Server Deadlock Objects That Keep Collidingby Steve StedmanSee which SQL Server deadlock objects collide with each other, on what index, under what lock mode, and which one loses every time.
- Who Is Connected to SQL Server, and What They’re Doingby Steve StedmanSee who is connected to SQL Server right now, colored by state, so you can tell a connection leak from normal pooling before resizing anything.
- SQL Server Signal Wait Time: The Metric Everyone Skipsby Steve StedmanLearn what signal wait time means in SQL Server wait statistics, why it signals CPU pressure, and how to read it before blaming the disk.
- Reading SQL Server Trace Flags: Where to Look Firstby Steve StedmanSee which SQL Server trace flags on an instance are still doing anything on the current build, and which ones vanish at the next restart.
- Find SQL Server Unused Indexes Before They Cost Youby Steve StedmanFind SQL Server unused indexes with sys.dm_db_index_usage_stats, see the write cost of keeping them, and get a verdict on every row.

































