7

誰かがこのデッドロック グラフを読んだり理解したりするのを手伝ってくれませんか?

プロセス 75 が、彼がすでにロックしているオブジェクトのロックを要求している理由がわかりません。

デッドロック グラフ

4

1 に答える 1

11

「Exchangeイベント」の存在を発見したブログ記事によると、問題の原因はクエリの並列処理である可能性があります。

今日の厄介な扱いにくい用語:「クエリ内の並列スレッドのデッドロック」

上記の記事ではさらに詳しく説明していますが、オチは次のとおりです。

回避策#1:インデックスを追加するか、クエリを改善して、並列処理の必要性を排除します。ほとんどの場合、クエリで並列処理を使用すると、適切なインデックスでサポートされていない非常に大きなスキャン、並べ替え、または結合があることを示します。クエリを調整すると、並列処理を使用しない、はるかに高速で効率的な計画が作成されることがよくあります。したがって、このタイプの問題は発生しません。もちろん、一部のクエリ(特に、DSS / OLAPタイプのクエリ)では、すべての大規模なスキャンを削除することが難しい場合があります。

回避策#2: クエリの最後に「OPTION(MAXDOP1)」クエリヒントを指定してシングルスレッド実行を強制します。クエリを変更できない場合は、プランガイドを使用して任意のクエリにヒントを適用できます。

これを試して、改善があるかどうかを確認することをお勧めします。

于 2011-09-01T08:54:40.577 に答える