【发布时间】:2010-11-18 19:29:18
【问题描述】:
运行 sp_who2 时,我的一条 SQL 命令似乎正在阻塞,但正在等待“睡眠”和“等待命令”的进程。这没有任何意义。
任何想法可能导致这种情况?我知道 DELETE 正在一个事务中运行,该事务之前在表中插入了很多行,这可能是问题吗?
【问题讨论】:
标签: sql-server ssis sp-who2
运行 sp_who2 时,我的一条 SQL 命令似乎正在阻塞,但正在等待“睡眠”和“等待命令”的进程。这没有任何意义。
任何想法可能导致这种情况?我知道 DELETE 正在一个事务中运行,该事务之前在表中插入了很多行,这可能是问题吗?
【问题讨论】:
标签: sql-server ssis sp-who2
您可能在 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
接下来,this script gives 你打开事务,最后一个 SQL 和计划。
并阅读KB 224453 以获得良好的衡量标准
【讨论】:
如果不知道您正在运行的 SQL,这将是非常困难的。但是基于Delete/Insert场景,是不是你已经启动了一个insert事务,然后你又打开了另一个事务来删除其中一些插入的记录,而没有commint之前的事务?
我以前见过这种问题,这就是它的表现方式。
【讨论】: