2010-11-18 177 views
8

運行sp_who2時,出現一個SQL命令阻塞,但正在等待「睡眠」和「等待命令」的進程。這沒有任何意義。sp_who2 BlkBy睡眠進程等待命令

alt text

任何想法可能會導致什麼呢?我知道DELETE正在一個事務中運行,該事務以前在表中插入了很多行,這可能是問題嗎?

回答

11

你可能會對SPID 98開放事務A阻塞的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良好的措施

+1

這是一個SSRS問題,它不會重用我打開該事務的連接(因此永遠不會關閉它),這最終意味着有一個打開的事務在表上鎖定一個鎖。謝謝您的幫助! – 2010-11-19 00:42:40

0

讀不知道,你正在運行這將是非常困難的說的SQL。但是基於刪除/插入場景,您是否不可能啓動插入事務,然後又打開另一個事務來刪除其中一些插入的記錄而不粉碎先前的事務?

我以前見過這種類型的問題,這是它如何體現出來的。