views:

222

answers:

3

I'm trying to optimize some slow web pages, and my guess is that the problem has to do with SQL blocking (doesn't seem to be a matter of CPU or I/O utilization on the web server or database server). What's the quickest way to find out what queries are getting blocked and what queries are doing the blocking?

+1  A: 

Activity Monitor

Remus Rusanu
+6  A: 
SELECT
    p1.SPID AS blockedSPID, p2.SPID AS blockingSPID, ...
FROM 
    master..sysprocesses p1
    JOIN
    master..sysprocesses p2 ON p1.blocked = p2.spid

Remus: Activity monitor may time out under server load with error 1222

The MS KB 224453 has a lot of good stuff

gbn
+1: Simple and effective.
John Sansom
+1, but it is: master.dbo.sysprocesses
KM
@KM How about next time, edit the answer and correct it...? Thanks.
Josh Stodola
@KM: or master..sysprocesses or master.sys.sysprocesses If you omit the schema, it works on SQL 2000+ plus
gbn