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

Next