Blogs

The Top 3 Mistakes I Made Fighting Blocking

The Top 3 Mistakes I Made Fighting Blocking

on February 16, 2017 • 4 min read

Category: blocking , deadlocks , locking

At the beginning of the “Troubleshooting Blocking and Deadlocks” course, I mention that it took me a long time to get into using the tools I show in the course.

The tools are all free, and many of them are built into SQL Server.

Update: the course itself is now free, too!

Continue reading

New online course: Troubleshooting Blocking & Deadlocks for Beginners (Free!)

New online course: Troubleshooting Blocking & Deadlocks for Beginners (Free!)

on February 14, 2017 • 2 min read

I made y’all a SQL Server style Valentine’s day present: a new FREE online training course.

Continue reading

Should I Learn Fulltext Indexing? (Dear SQL DBA Episode 29)

Should I Learn Fulltext Indexing? (Dear SQL DBA Episode 29)

on February 9, 2017 • 7 min read

This week’s question is about a longstanding feature in SQL Server that sounds really cool: full-text search. If you’re learning performance tuning, how much time should you invest in researching and learning about full-text indexes?

Continue reading

Understanding Left vs. Right Partition Functions (with Diagrams)

Understanding Left vs. Right Partition Functions (with Diagrams)

on February 7, 2017 • 3 min read

You’re designing table partitioning, or you want to make a change to an existing partition function. It’s critical to understand the difference between how “left” and “right” partition functions behave, but the documentation is a bit confusing on this topic.

Continue reading

Index Types: Heaps, Primary Keys, Clustered and Nonclustered Indexes (Dear SQL DBA Episode 28)

Index Types: Heaps, Primary Keys, Clustered and Nonclustered Indexes (Dear SQL DBA Episode 28)

on February 2, 2017 • 10 min read

Category: indexing

I see HEAP tables are found even when I know those tables have a clustered index, and I see a lot of forwarded records. This happens to 5 tables in my database. I can see the clustered and in some ones the non-clustered indexes… why are some scripts reporting them as heaps?

Continue reading

Which Filegroup is that Partition Using? How Many Rows Does It Have?

Which Filegroup is that Partition Using? How Many Rows Does It Have?

Table Partitioning in SQL Server has a bit of a learning curve. It’s tricky to just figure out how much data you have and where the data is stored.

Continue reading

What is that Garbage in my Execution Plan? (Dear SQL DBA Episode 27)

What is that Garbage in my Execution Plan? (Dear SQL DBA Episode 27)

Today I was working on some code samples for a user question, and I hit a weird roadblock.

There was a bunch of garbage in my execution plan that I couldn’t explain. And by ‘garbage’, I mean a nested loop to a whole branch of code that I hadn’t asked SQL Server to run – and a warning about an implicit conversion possibly causing problems with the quality of my execution plan.

Continue reading