如何找出哪些SQL查询被阻止以及哪些阻止了它们? [英] How to find out what SQL queries are being blocked and what's blocking them?

查看:127
本文介绍了如何找出哪些SQL查询被阻止以及哪些阻止了它们?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试优化一些速度较慢的网页,我的猜测是问题与SQL阻止有关(似乎与Web服务器或数据库服务器上的CPU或I/O利用率无关) ).找出哪些查询被阻止以及哪些查询在进行阻止的最快方法是什么?

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?

推荐答案

SELECT
    p1.SPID AS blockedSPID, p2.SPID AS blockingSPID, ...
FROM 
    master..sysprocesses p1
    JOIN
    master..sysprocesses p2 ON p1.blocked = p2.spid

Remus:活动监视器在服务器负载下可能会超时,错误为1222

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

MS KB 224453 有很多好东西

这篇关于如何找出哪些SQL查询被阻止以及哪些阻止了它们?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆