sp_who2 BlkBy Sleeping Prozess Warten auf Befehl

8

Beim Ausführen von sp_who2 scheint einer meiner SQL-Befehle blockiert zu sein, wartet aber auf einen Prozess, der "Schlafen" und "Warten auf Befehl" ist. Das ergibt keinen Sinn.

Irgendwelche Ideen, was das verursachen könnte? Ich weiß, dass DELETE in einer Transaktion ausgeführt wird, die zuvor viele Zeilen in die Tabelle eingefügt hat. Könnte das das Problem sein?

    
Stefan Mai 18.11.2010, 19:29
quelle

2 Antworten

11

Sie haben wahrscheinlich eine offene Transaktion auf SPID 98. Eine blockierende SPID muss nicht aktiv sein

Probieren Sie dies aus und sehen Sie sich die Spalte open_tran an

%Vor%

Nach diesem Skript gibt Sie öffnen Transaktionen, letzte SQL und planen.

Und lesen Sie KB 224453 für ein gutes Maß

    
gbn 18.11.2010, 19:37
quelle
0

Ohne zu wissen, welche SQLs Sie ausführen, wäre das extrem schwierig zu sagen. Aber ist es aufgrund des Szenarios Löschen / Einfügen nicht möglich, dass Sie eine Transaktion zum Einfügen gestartet haben und dann eine andere Transaktion geöffnet haben, um einige dieser eingefügten Datensätze zu löschen, ohne die vorherige Transaktion zu wiederholen?

Ich habe diese Art von Problem schon einmal gesehen und so manifestiert es sich.

    
Aliostad 18.11.2010 19:38
quelle

Tags und Links