是否可以告诉给定SQL Server进程正在运行什么查询?

时间:2009-11-05 20:46:01

标签: sql sql-server process

我们的应用程序已开始遇到SQL Server 2005查询被阻止的问题。是否可以告诉阻塞进程正在运行什么查询?如果可能的话怎么办?

4 个答案:

答案 0 :(得分:4)

如果运行的SQL Server版本大于Express,则SQL Server Management Studio的活动监视器允许您创建系统上当前活动的快照。在那里,您可以看到哪个连接阻止了哪个其他连接。您还可以查看这些连接锁定了哪些表(或其他对象),并提供了阻止导致阻塞的提示。

答案 1 :(得分:2)

如果您知道阻止过程的SPID,则可以运行DBCC INPUTBUFFER(xxx),其中xxx是SPID。如果您正在使用Activity Monitor,则可以通过双击包含该进程的行来实现相同的目的。

答案 2 :(得分:0)

我知道有可能不是一个sql guru,我不能给你一个查询来运行,它会告诉你什么查询阻塞。我将插入一个我正在评估的应用程序,这对我们来说效果非常好。

Sql Sentry一直在帮助我的小团队找出问题所在。值得注意的是,我们只有一个人熟练使用sql server。

我与该公司有没有的关系,我也没有以任何方式补充插件

答案 3 :(得分:0)

运行SQL事件探查器跟踪,仅包括阻止的进程报告(在错误内)。让它在白天保持运行并监控它以获取阻止信息。