PAGELATCH_ *待機タイプで待機しているブロックされたセッション?


9

編集:セッションレポートがブロックされているがPAGELATCH_*LCK_M_関連する待機タイプではなく、で待機しているのはなぜですか?

以前は、SQLサーバーはブロッキングセッションのみをblocking_session_Id列で報告すると想定していました。ブロックされたセッションが論理ロックを待機していて、などのほかのものがなかった場合PAGELATCH_*

ここに画像の説明を入力してください


多くの同時セッションがテーブルにデータを挿入しているようです。インデックスと一緒にテーブル構造を投稿できますか?
Kin Shah

@KinテーブルのSPID 69、82、84によって挿入が開始されるには、IDENTITY(1,1)プロパティで定義されたクラスター化インデックスがあるので、最後のページ挿入競合のケースになる可能性がありますが、この段階で私はもっと興味がありますブロックされたセッションが非ロック関連の待機タイプで待機している理由。また興味深いことに、SPID 93が64でから選択されたテーブルには全く関係のないテーブルの上にXLOCKを置くしようとしている
ピクセル化

回答:


6

以前は、ブロックされたセッションが論理ロックを待機していて、などの他のものは何も待機していない場合、SQL Serverがブロッキングセッションを報告するのは、blocking_session_id列のみであると想定していましたPAGELATCH_*

sp_WhoIsActiveSQL Serverの組み込み機能ではなく、Adam Machanicの手順を使用しています。Adamの手順では、ロックのブロックだけでなく、ブロックの「興味深い」原因がすべて報告されます。基本的な情報は、sysprocessessys.dm_exec_requestssys.dm_os_waiting_tasksなどのさまざまなソースから取得されます。

タスクは、ロック以外の他のものを待つことができます。たとえば、ページ上の行の排他ロックを取得できても、排他ページラッチの取得を待機する必要がある場合があります(他のタスクが同じページを互換性のないモードでラッチしたため)。

この例でPAGELATCH_EXは、wait_infoの末尾の(*)で示されているように、排他的なページラッチはPFS、GAM、SGAM、DCM、またはBCMページではなく、通常のデータまたはインデックスページにあります。

sp_WhoIsActive ここのドキュメント(ブログエントリ)を見つけることができます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.