Blocking

Category: blocking

The Case of the Rowgroup Deadlock in a Columnstore Index

The Case of the Rowgroup Deadlock in a Columnstore Index

on September 21, 2017

I came across a fun deadlock when writing demos for my session on the Read Committed isolation level this week. (It’s OK to call it “fun” when it’s not production code, right?)

I was playing around with a nonclustered columnstore index on a disk-based table. Here’s what I was doing:

Continue reading

Using sp_WhoIsActive with Temp Tables to Limit Data Collected

Using sp_WhoIsActive with Temp Tables to Limit Data Collected

on June 28, 2017

Category: blocking

The free sp_WhoIsActive procedure by Adam Machanic can be very useful for monitoring SQL Server: I’m a big fan.

But I’ve learned the hard way that it’s easy to collect too much information with sp_WhoIsActive, particularly if you set up jobs where you have the procedure log data to a table for later review. Collecting the text of SQL Server queries, their execution plans, and more, can take up a lot of room, and I’ve managed to fill up a server drive or two with a little over-eager collection. Whoops!

Continue reading

The Top 3 Mistakes I Made Fighting Blocking

The Top 3 Mistakes I Made Fighting Blocking

on February 16, 2017

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