Production Database Administration

Welcome to the DBA Training Plan.

DBA Training Plan
Foreword: 8 years ago, I launched an email series with a 6-Month DBA Training Plan. I sent one email per week, bringing people up to speed on the most important topics that nobody taught ’em along the way. It’s hard to believe it’s been 8 years! This month, I’m revisiting the emails, updating their content,…
Read More
Countdown clock at

What You Said You’re Going to Do About SQL Server 2008

Last week, I asked you what you were going to do about SQL Server 2008’s fast-approaching end-of-support date. Countdown clock at Here were some of my favorite responses from blog comments and Twitter. Terry’s been doing a good diligent job, but struggling to keep up: Like Andrew we’ve been working on retiring/migrating off 2008…
Read More
SQL Server installation wizard

Should you run SSAS/SSIS/SSRS on the SQL Server?

When you’re building a new SQL Server, you’re going to see a few intriguing checkboxes during setup. It’s all free, right? Check everything! The services are all free, right? You can just check the boxes for Machine Learning Services, R, Python, Data Quality Services, PolyBase, Integration Services, Analysis Services, and Reporting Services – it’s not…
Read More
Brent Ozar in a tin foil hat

What Queries Does Microsoft’s CEIP Service Run On Your SQL Server?

You’ve seen the CEIP Service on your SQL Server, and you’re wondering what queries it runs and how it sends that information back to Microsoft. I was wondering too, because I started seeing queries running that I didn’t expect: sp_WhoIsActivelyRunningTelemetryQueries (click to see full size) Ah-ha, the telemetry service, also known as SQLCEIP! Starting with…
Read More

How to Log Active Queries with sp_BlitzWho

Queries are running when you’re not around. They’re wreaking havoc – maybe they’re filling up your TempDB, or causing blocking, or flushing your buffer pool out. When I wanna see what queries are running, I run sp_BlitzWho: That shows me who’s running the query, what it’s been waiting on over time, memory grants, blocking, and…
Read More
Brent getting caffeinated

How to Troubleshoot Blocking and Deadlocking with Scripts and Tools

Deadlocks, Monitoring, sp_BlitzLock
When you need to find which queries are blocking other queries, your decision comes down to when the blocking happened. Is it happening now, recently, or coming up soon? During a live emergency, start with sp_WhoIsActive. Adam Machanic’s excellent free sp_WhoIsActive replaces Activity Monitor, sp_who, and sp_who2, and it’s way more powerful. The documentation is extensive –…
Read More