Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Is there a way to identify processes that were blocking or were blocked by another process after the fact without setting something up ahead of time?

My weekly maintenance job (rebuild indexes, update stats) ran extremely long. I'm thinking that it was trying to work on something and encountered blocking to prevent it from continuing, but I don't know what that might be.


share|improve this question

i checked an overview of the SQL 2005 DMV's and everything seems to indicate that the systems views and functions only gather from real time for transaction information. the default trace can be accessed using fn_trace_gettable, you may find some details there.

the best way to capture this information is as you suggested, to capture it ahead of time. we actually have a 3rd party tool for exactly this purpose; to capture query information that we can then use to investigate performance problems after the fact.

share|improve this answer

No, you would need to setup some logging yourself into a table so that you can query it after the fact.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.