【问题标题】:sp_who2 BlkBy Sleeping Process Awaiting Commandsp_who2 BlkBy Sleeping Process Awaiting 命令
【发布时间】:2010-11-18 19:29:18
【问题描述】:

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

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

【问题讨论】:

    标签: sql-server ssis sp-who2


    【解决方案1】:

    您可能在 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 以获得良好的衡量标准

    【讨论】:

    • 这是一个问题,SSRS 没有重用我打开事务的连接(因此永远不会关闭它),这最终意味着有一个打开的事务持有表上的锁。感谢您的帮助!
    【解决方案2】:

    如果不知道您正在运行的 SQL,这将是非常困难的。但是基于Delete/Insert场景,是不是你已经启动了一个insert事务,然后你又打开了另一个事务来删除其中一些插入的记录,而没有commint之前的事务?

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-08-25
      • 2012-10-30
      • 2021-12-10
      • 1970-01-01
      • 2021-07-28
      • 2011-06-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多