dear-sql-dba-700x700

Setting up Free Blocking Alerts and Deadlock Monitoring (Dear SQL DBA Episode 17)

What tools in SQL Server will notify you about blocking and help track the queries behind your toughest blocking and deadlocking problems? Watch the 21 minute video, subscribe to the podcast, or read the episode notes and links below. Dear SQL DBA, What is the best way to set up blocking and deadlock alerts on the server? I […]

how-long-did-that-query-really-take

Measuring Query Duration: SSMS vs SQL Sentry Plan Explorer

Every query tuner wants to explain exactly how much faster we made a query. But sometimes SQL Server Management Studio adds noticeable overhead to the query duration. For relatively fast queries that return more than a few rows, just the overhead of displaying the results can skew your duration metric. Spoiler, for those short on time: […]

Index-Tuning-Decisions

Index Tuning Decision Tree for SQL Server

I recently mapped out my thought process for how I approach a new instance of SQL Server when it comes to index tuning. It now looks like this: Highlight: Can I use Query Store? One of the first things I think about is whether the new 2016 Query Store option is available to collect query […]

Deadly-Embrace

Deadlock Code for the WideWorldImporters Sample Database

If you haven’t checked out Microsoft’s new WideWorldImporters sample database for 2016, it’s a pretty cool new little database. The database makes it easy to play around with new 2016 features, and it even ships with some cool little executables to run inserts in the “workload-drivers” folder. I recently put together some code to reproduce […]

Uniquely Portland

Unique Constraints vs Unique Indexes

Unique constraints and unique nonclustered indexes have a lot in common: unique constraints are implemented with a unique index behind the scenes. While unique nonclustered indexes have a couple of additional features, I can still think of a scenario where it might be best to use unique constraints. Unique Indexes: More flexible! 1. You can […]

Reading Query Plans

Estimated vs. Actual Number of Rows in Nested Loop Operators

This is one of those little details that confused me a ton when I was first working with execution plans. One problem with learning to work with plans is that there’s just SO MUCH to look at. And it’s a bit spread out. So, even when looking at a single tooltip, things can be confusing. Let’s […]

Finding-Your-Voice-as-a-Speaker

Finding Your Voice as a Speaker (Dear SQL DBA Episode 15)

Learn what it’s like to find and develop your voice as a technical speaker in this week’s episode of Dear SQL DBA. You can also listen to this episode in a podcast. This episode is a little more personal than most. Today, I’m going to answer a question that I’ve gotten five or six times in […]