How to troubleshoot a SQL Server with performance issues

I wrote my last post just before going to London where I attended the “Immersion Event on Performance Tuning”. I have one word to describe that event, that word is “AMAZING”. In my last post I said that I hopefully would be able to share some of the knowledge, the goal of this post is to share some of that knowledge. I will not try to repeat what I learned during the training, because I´m afraid I will not succeed on that, instead I want to share some of the information I got during the training in the module “wait and queues”. I want to clarify something, the information I will be sharing is a very small part of what you would be able to learn during the training. With that said let’s start 😉

Have you ever heard of the “Wait and queues” troubleshooting methodology? If you have not heard about it, don’t feel guilty about. According to Paul Randal (blog|twitter) “Wait and queues” is, I will quote him on this, “One of the most under-utilized performance troubleshooting methodologies in the SQL Server world”. He wrote a blog post on it. You can find his blog here, if you have not yet read Paul’s blog post on this topic, I will really recommend you to do it. He mentions some resources that will be essential to you in order to be able to use this methodology (Microsoft White paper “Performance Tuning Waits Queues”, Joe Sack’s slide deck ( “Performance Troubleshooting with Wait Stats”) , Paul’s MCM training video “Wait and queues” and last but not least Books Online) , don’t get me wrong; his post is already good enough to get you started.

One of the many things I learned during the training is that benchmarking is extremely useful to be able to troubleshoot performance issues. In Joe Sack’s slide deck you will get some tips on how to benchmark. There is a resource that is not mentioned in Paul’s blog, but it is mentioned on Joe’s slide deck, that resource is the “Troubleshooting Performance Problems in SQL Server 2008” white paper, you can find the white paper here.

As I already told before this blog post was not about repeating what I learned during the training, because believe me when I tell you, the best way to get that information is by attending the training, this post was meant to share some of the information I got during the training. My goal was to provide you with enough information that will be useful in situations where you need to solve some performance issues. If you read Paul’s blog post you will be able to implement the “Wait and queues” methodology. There is no need for me to repeat what this methodology is, because Paul already did an excellent job in his post. I really hope this post will be useful and if by any chance you still want to get more information on this topic I will be more than happy to help you, just send me a mail to


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s