サポートチームの荒川です。ブロッキングの話をします。■イベントログから発生の有無を診断できるのか前回説明したとおり、実際にブロッキングが起きたかどうかを後から正確に判断する術はありません。私は多くの経験のなかから、ブロッキング問題が発生した際によく見かける特徴的なイベントを見つけていますので、これがヒントになるかもしれません。'デッドロックが検出されました。注意したいのは、このイベントが記録されたからと言って、必ずしもブロッキング問題が発生していることを示すものでは無いということです。逆に、このイベントが出ていないからブロッキングが起きていないと判断することも適切ではありません。デッドロック検知機能が動作した事を示します。よって自動的に再起動されます。認識した事を示すものではありません。自身の状態をデッドロックではないかと検知する条件は以下の二つです。デッドロックが発生していると判断します。発生シナリオの一例として以下が考えられます。アプリケーションのリクエスト処理が何らかの要因によってハングする。していて、それらもハングする。デッドロックを検知した旨イベントログに発報してプロセスを不健全とマークする。不健全とマークされた事を確認してプロセスに対して終了依頼する。発行して強制終了する。した事をイベントログに発報する。ブロッキングが発生し、さらに多数のユーザーがリクエストを試みている状況においては、上記イベントに遭遇する確率が高くなるわけです。何度も言いますが、上記イベントはあくまで指標であって、実際にこのイベントとブロッキング問題を直結することは適切ではありません。ブロッキングの結果として上記イベントが記録されるパターンが多いことも事実です。■ロックエスカレーションの有無を確認する方法ブロッキングと同様に、ロックエスカレーションが実際に発生したかどうかを後から確認する方法はありません。プロファイラ―を仕掛けておくことで、ロックエスカレーションの発生の瞬間をとらえることは可能です。場合、一度ブロッキングが発生した環境は、以降も引き続き発生する可能性が高いと言えます。原因を特定せず、いきなりトレースフラグの設定を行うことが好ましくない状況では、先述のブロッキングの確認方法と併せて以下の方法でロックエスカレーションが発生したことを裏付けてから対応を検討するとよいでしょう。プロファイラーの詳細な解説についてはここでは触れませんが、簡単な確認方法を参考まで、紹介しておきます。ドキュメントをご参照ください。Lock:Escaration」イベントを記録するようにトレースを設定します。大きな負担をかけますので、運用環境下での実施は避けたほうが良いでしょう。Lock:Escaration」イベント程度であれば、それほど大量にログが出力されることは無いでしょうから、パフォーマンスへの極端な影響は無いものと思われます。イベントが記録されます。以下のようにエスカレーションが発生したテーブルを特定することができます。object_name(53575229)サーバートレースを長期間仕掛けておく場合には、以下の手順を実行します。これによりファイルにログを出力することができます。つの作業に分けられます。トレース停止それぞれの作業について説明いたします。スクリプト生成~~~~~~~~~~~~以下の手順で、スクリプトを生成します。インスタンスに接続します。