11

sp_who2 を実行すると、SQL コマンドの 1 つがブロックされているように見えますが、「スリープ中」および「コマンド待ち」のプロセスを待機しています。これは意味がありません。

代替テキスト

これを引き起こしている可能性のあるアイデアはありますか?以前テーブルに大量の行を挿入したトランザクション内で DELETE が実行されていることはわかっていますが、それが問題になる可能性はありますか?

4

2 に答える 2

14

おそらくSPID98でオープントランザクションがあります。ブロッキング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、および計画を提供します。

そして、適切な測定のためにKB224453を読んでください

于 2010-11-18T19:37:51.693 に答える
0

実行しているSQLを知らなければ、言うのは非常に難しいでしょう。しかし、削除/挿入のシナリオに基づいて、挿入用のトランザクションを開始してから、別のトランザクションを開いて、前のトランザクションを結合せずに、挿入されたレコードの一部を削除することはできませんか?

私は以前にこの種の問題を見たことがあり、これがそれがどのように現れるかです。

于 2010-11-18T19:38:35.540 に答える