11

运行 sp_who2 时,我的一条 SQL 命令似乎正在阻塞,但正在等待“睡眠”和“等待命令”的进程。这没有任何意义。

替代文字

有什么想法可能导致这种情况吗?我知道 DELETE 正在一个事务中运行,该事务以前在表中插入了很多行,这可能是问题吗?

4

2 回答 2

14

您可能在 SPID 98 上有一个打开的事务。阻塞 SPID 不必处于活动状态

试试这个,看看open_tran

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

接下来,此脚本为您提供打开的事务、最后的 SQL 和计划。

并阅读KB 224453以获得良好的衡量标准

于 2010-11-18T19:37:51.693 回答
0

如果不知道您正在运行的 SQL,则很难说。但是基于 Delete/Insert 场景,您是否可能已经启动了一个插入事务,然后您又打开了另一个事务来删除其中一些已插入的记录,而没有 commint 先前的事务?

我以前见过这种问题,这就是它的表现方式。

于 2010-11-18T19:38:35.540 回答