質問

編集:セッションがブロックされているがPAGELATCH_*で待機しているのはなぜですか?

私は以前はSQL Serverがblocking_session_id列のブロッキングセッションのみを報告するだけであると仮定しました。ブロックされたセッションが論理ロックを待っていて、LCK_M_などのものは何も待っていなかった場合。

画像の説明が入力されています

役に立ちましたか?

解決

私は以前は、ブロックされたセッションが論理ロックを待っていて、PAGELATCH_*などの他のものではなく、ブロックされたセッションのブロッキングセッションのみを報告するだけであると仮定しました。

組み込みのSQL Server機能ではなく、ADAM Machanicのsp_WhoIsActiveプロシージャを使用しています。 ADAMの手続きは、ブロッキングのすべての「興味深い」原因を報告します。基礎情報は、 sysprocesses sys.dm_exec_requests sys.dm_os_waiting_tasks

を含むさまざまなソースからのものです。

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

あなたの例では、 wait_info <の末尾にある(*)で示されている、PFS、GAM、SGAM、DCM、またはBCMページではなく、通常のデータまたはインデックスページにあります。 / EM>。

PAGELATCH_EX

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

ライセンス: CC-BY-SA帰属
所属していません dba.stackexchange
scroll top