Introducing sp_CheckHealth: Check Your Overall SQL Server Health
August 19, 2026
Imagine you inherited a new SQL Server instance, or even several instances, and you need to perform a quick “sanity check” to see if anything is off. There are probably a hundred different things a Database Administrator (or someone who has to play the role of the DBA) would want to check to see to
Settings and configurations you should never touch in SQL Server
July 13, 2026
One of my favorite movies from my youth was Terry Gilliam’s Time Bandits. It’s about a young boy who gets accidentally caught up with some time-travelling thieves, who are being chased by forces of good and evil. And, without giving too much away, at the end of the movie the lead character shouts “Don’t touch
SQL Server database states for people in a panic
July 9, 2026
I’ve recently been asked by some folks about different states for SQL Server databases. Questions like “what’s the state of a database with log shipping?”, “can I fix a database in (whatever) state with a restart?”, and “which is the bad one, RECOVERY or RECOVERY PENDING?” Hopefully you don’t have to try to figure out
SQL Server 2016 – the Final Countdown: Assessing Your SQL Server 2016 Estate
July 8, 2026
This post is part of a series we are calling “SQL Server 2016 – The Final Countdown.” If you are reading this and you still have SQL Server 2016 instances kicking around, let this be yet another post reminding you that extended support for that version ends on July 14, 2026. If this is news to
SQL Server Case of the Week: Why the master database can have a lower compatibility level than the instance
June 26, 2026
Quick summary If you have ever done an in-place upgrade of SQL Server, the master database probably has a lower compatibility level than the other system databases. Context We were attempting to install a troubleshooting stored procedure in the master database of a SQL Server 2016 instance when we received the following error. Msg 195,
Updates for all sp_Check tools – June 2026
June 25, 2026
No, it wasn’t your imagination – we didn’t have any updates for our tools in May. At least not publicly. Internally we did add some features and fix some things in May, but we’ve also been working on a few other things (like new website!) that delayed the public May updates. Anyhow, we have a
SQL Server 2016 – the Final Countdown: Key Features from SQL Server versions 2017–2025
June 17, 2026
This post is part of a series we are calling “SQL Server 2016 – The Final Countdown.” SQL Server 2016 was the version where Microsoft really started giving us the good stuff for free. Query Store, Columnstore for everyone, Always Encrypted, Availability Groups that worked, and more. Plus, the Service Pack 1 feature additions made
Session: Defending Your SQL Server – Practical Strategies against Ransomware with Jeff Iannucci
June 15, 2026
I’ve presented different versions of this session for a few years now, and I’ll keep giving it as long as ransomware keeps affecting so many organizations. There are a number of troubling default setting in SQL Server, as well as some commonly seen practices that can unintentionally result in attack vectors. I want to help
SQL Server 2016 – the Final Countdown: Features Deprecated and Discontinued Since SQL Server 2016
June 10, 2026
This post is part of a series we are calling “SQL Server 2016 – The Final Countdown.” If you’re planning on upgrading from SQL Server 2016 to the current version of SQL Server 2025, it would be helpful to note some of the features from versions since 2016 that are no longer supported. By that
SQL Server 2016 – the Final Countdown: What End of Support Means and Why You Should Care
June 3, 2026
Many of us have been working with SQL Server long enough to remember when SQL Server 2016 was shiny and new. It’s unquestionably a milestone of a version with Query Store being introduced, availability groups finally working, lots of features eventually added to Standard Edition, and more. But now it is old enough that Microsoft