What do *you* do when your database has a problem with blocking? Most people reach for the “NOLOCK” hint. Bad news: that may introduce other problems, and it doesn’t truly resolve the root problem in your application code. In this video Kendra Little summarizes five big-picture application changes that fight blocking long term.
This 300 level talk is designed for developers and DBAs who understand table structures, index structures, and common query patterns. We’re going to keep things general: no demos, just concept discussions.
If you like this, come join the fun in our upcoming webcasts. And here’s a secret: we start the fun half an hour before the webcast actually starts. You can join in as early as 11AM, watch us trade jokes, share our favorite links and stories from the week, and just generally horse around. It’s my favorite part of the week.

AndyG @DBA_ANDY August 17, 2011 | 10:16 am
How about recording the webex’s and actually posting them on the brentozar.com site rather than just linking to webex? (Or does that violate your agreement with webex?)
Brent Ozar August 18, 2011 | 10:41 am
Andy – err, I’m not sure what you mean. The video’s viewable right here on BrentOzar.com. What additional capabilities are you looking for?
hillbillyToad August 18, 2011 | 7:51 am
I winced when I heard that triggers are often employed to do auditing. Why do vendors and developers refuse to use the database’s auditing feature to do this?
I’m guessing you said that because you see it so much…
I loved your presentation style and format. It allowed me to follow along without feeling really stupid as there was no T-SQL code for me to digest.
Brent Ozar August 18, 2011 | 10:44 am
@hillbillyToad – well, the auditing feature requires Enterprise Edition – so that’s around $20k/cpu socket to implement. Triggers are free.
Pingback: Something for the Weekend – SQL Server Links 19/08/11
Tomas August 21, 2011 | 9:16 am
Can you post the name of that “query trace” free tool you mentioned?
Thanks
caruncles August 22, 2011 | 7:18 am
Great video. A neophyte needs all the help he can get. However, I’ve identified the bottlenecks, but am not sure of the code needed. Question about “read from secondaries”- will a view work as a secondary?
Brent Ozar August 22, 2011 | 7:20 am
Caruncles – no, a secondary means a second SQL Server.
Pingback: Hint Abuse: SQL Server vs Oracle
anon August 22, 2011 | 2:31 pm
Any change we could get a transcript of this?
Brent Ozar August 22, 2011 | 3:44 pm
Anon – unfortunately we don’t offer transcripts.
Tim August 22, 2011 | 3:43 pm
Thanks Kendra. Interesting approach – and the drawings are really great. I have to say, however, I would have gotten a lot more out of this session with some example code/demo. The strategies on their own, do seem a bit like “motherhoods”. How about a follow-up session?
Kendra Little August 22, 2011 | 3:52 pm
Hi Tim–
Glad you liked it. Doing demos of each of these would be lots of fun–I could do quite a few webcasts diving into each one of these, showing more about how it works, and comparing and pros and cons of different methods. Thanks for the feedback and I’ll put ideas on them into the hopper!
Bill Preachuk August 26, 2011 | 2:14 pm
Thanks Kendra. That was a terrific talk. I like how your format allowed you to present many ideas without diving into painful detail on each. I appreciate *not* receiving a lot of T-SQL and code samples sometimes.
Well done and Thanks again!
Pingback: How to prevent blocking in your SQL Server database | James Serra's Blog
Dec November 13, 2012 | 6:22 pm
Fantastic presentation guys. Very insightful.