本文へスキップ

ロックツリー

ホーム画面 > プロジェクト選択 > 分析 > ロックツリー

SQL Serverデータベースから発生するロック(lock) 状況をリアルタイムでモニタリングし、セッションのロック状態に関する詳細情報を確認できる有用なツールです。この機能により、ユーザーはデータベースのパフォーマンス低下を引き起こす可能性のあるロックの問題をすばやく識別し、原因を分析できます。

提供する主な機能は次のとおりです。

  • ロック状況の視覚化:一日間で発生したロックの状況を視覚化したグラフで確認できます。これにより、ロックが発生した時間帯と頻度を一目で把握できます。

  • セッション情報提供:ロックを誘発したセッションの詳細情報をテーブル形式で提供します。各セッションの状態、待機時間、待機タイプ、実行中のSQL文などの情報を確認できます。

  • 時間別ロックトレンドの視覚化: 1-Min Lock TrendsLock Wait Sessions機能により、ロック発生データを時間単位で分析できます。

基本的な使い方

Lock tree

  1. 画面上段の時間で照会する日付を選択して時間を設定します。

  2. モニタリングするインスタンスを選択します。

選択したインスタンスで設定した時間中に発生したロック(Lock) 状況を確認できます。

もし設定された時間の間ロック(Lock)が発生した場合は、Lock Wait Sessionsグラフと下段のテーブルで特定の時間帯にロックが集中するのか、または特定のセッションが継続的にロックを誘発するのかなどを分析できます。

ノート
  • チャートで3時間以内にドラッグして、5秒単位のデータを照会できます。ただし、5秒単位のデータは、最近1か月の範囲に限って照会できます。1か月前のデータは、5分要約データでしか閲覧できません。例えば、40 日前のロックツリーデータをドラッグ(ドリルダウン)すると、5分要約データは照会できますが、5秒データは照会できません。

Lock Wait Sessions

Lock Wait Sessionsは、ロック待機セッションの情報を分析できる機能です。照会期間によってロック待機セッションデータを3時間以上照会すると5分間隔で、3時間未満照会すると5秒間隔で提供します。また、チャートをドラッグして時間範囲を流動的に調整できます。

1-Min Lock Trends

Lock Wait Sessionsで特定の時間帯をクリックすると、その時間基準で15分前から15分後までの計30分間のロック発生状況を可視化して表示します。これにより、30分単位でロック発生トレンドを効果的に分析できます。

ノート

Total Locksは、その時間帯に発生したロックの合計個数を意味します。

時間照会

Lock Wait Sessionsでクリックした時間に発生した最大ロック数を基準に1-Min Lock TrendsLock Treeテーブルの時間が設定されます。これにより、ロックが最も多く発生した区間を把握できます。

時間照会1

Lock Wait Sessionsはそのままにして1-Min Lock Trendsチャートで他の時間帯のバーをクリックした場合、該当する分の最大ロック数を持つ秒の時点でLock Treeテーブルの時間範囲が同期されます。これにより、時間帯を変更する時にLock Treeテーブルに反映された情報を確認できます。

時間照会2

  • 3時間以上照会した場合 (5分単位のデータ使用)

    照会時点から5分の区間でバーの色が濃く表示されます。

    07:15:00時点をクリックした場合、07:15:00~07:20:00区間バーのチャートの色が濃く表示されます。

    5分パック照会

  • 3時間未満照会した場合 (5秒単位のデータ使用)

    短い時間間隔で発生したロック状況を分析する時に役立ちます。

    5秒パック照会

カラム情報ガイド

各セッションの詳細については、次のカラムを通じて提供します。

項目説明
applicationセッションを作成したアプリケーションの名前です。
clientセッションを作成したクライアントの名前またはIPアドレスです。
dbセッションがリンクされているデータベースの名前です。
elapsed_timeセッション開始後の経過時間(ミリ秒単位)です。 ロックが発生してからどれほど時間が経過したかを測定するために使用されます。
hostセッションを作成したクライアントホストの名前です。
idロックセッションの固有識別子(ID)です。
instanceエージェントまたはインスタンスの名前です。
last_wait_typeセッションが最後に待っていた待機タイプです。
row_countセッションで処理された行(row)の数を示します。
query現在のセッションで実行中のSQL文の全文です。
query_paramセッションで実行中のSQL文のパラメータ値です。
statusセッションの現状を示します。 例えば、「running」、「suspended」、「sleeping」などがあり、セッションがアクティブなのか、待機中なのかを意味します。
userSQL Serverに接続したユーザーの名前です。
wait_resourceセッションが待機しているリソース(resource)を示します。
wait_timeセッションが待機中の時間(ミリ秒単位)です。
wait_typeセッションが待機中の待機タイプを示します。 例えば、ロック待機中またはIO待機などの情報を含みます。
ノート

WhaTapは、クライアントに関する情報をデフォルトで保存します。

wait_type

wait_typeカラムは、SQL Serverでクエリやトランザクションが待機している特定のリソースやイベントを表す値です。 SQL Serverは、内部的に様々な待機タイプを使用してシステムのパフォーマンスを管理し、問題を診断します。

I/0関連待機

  • PAGEIOLATCH_EX:データページを読み取るために排他的ロックを待機します。

  • PAGEIOLATCH_SH:データページを読み取るために共有ロックを待機します。

  • FILEIO:ファイル I/O作業中の待機です。

ロック(Lock) 関連待機

  • LCK_M_X:排他的ロック待機です。

  • LCK_M_S:共有ロック待機です。

  • LCK_M_U:アップデートのロック待機です。

  • RESOURCE_SEMAPHORE':リソースセマフォの待機、メモリリソースを確保するために待機する場合です。

その他待機

  • CKPACKET:並列クエリでスレッド間同期の待機です。

  • ASYNC_NETWORK_IO:ネットワークI/O作業中の待機です。

  • SLEEP_*WAITFORまたはWAITFOR DELAY文により待機中です。

  • BROKER_*:Service Brokerメッセージ待機です。

  • LOCK_MANAGER:ロック管理待機、SQL Serverのロック管理機に関連する待機です。

wait_resource

wait_resourceカラムは、SQL Serverで実行中のリクエストが待機しているリソースに関する情報を提供します。 リクエストが特定のリソースを待っている状況を文字列形式で表現し、待機中のリソースの具体的な識別子や場所を示します。

主なリソースタイプと例については、以下を参照してください。

  • PAGE: <file_id>:<page_id>

    データページの待機を示します。

    例)PAGE: 1:12345

  • FILE: <file_id>

    データファイル全体に対する待機を示します。

    例)FILE: 1

  • 0BJECT: <cobject_id>

    特定のテーブルに対する待機を示します。

    例)0BJECT: 123456

  • DATABASE: <database_id>

    特定のデータベースに対する待機を示します。

    例)DATABASE: 5

  • KEY: <key_id>

    インデックスキーまたは他のデータ構造のキーに対する待機を示します。

    例)KEY: 67890

  • RID: <file_id>:<page_id>:<row_id>

    wait_resourceカラムがRID(Row Identifier)の場合は、SQL Serverの特定の行(row)に対する待機を示します。 RIDは、SQL Serverでテーブルの特定の行を識別する固有の識別子です。

    例)RID: 1:1234:5678

ノート
  • <file_id>は、データファイルのIDを意味します。

  • <page_id>は、ページのIDを意味します。

  • <object_id>は、テーブルのIDです。

  • <database_1d>は、データベースのIDです。

  • <key_id>はキーのIDです。

  • <row_id>は、ページ内で行を識別するIDです。

AIで分析する

画面でWhaTap AIボタンをクリックすると、WhaTap AIチャットウィンドウが開き、照会した画面データを要約して分析した結果が対話形式で表示されます。結果を読んだ後、同じ対話で続けて質問できます。

  • 分析に使用するデータは照会範囲全体の推移、30分区間の集計、選択時点のロックツリースナップショットの3つです。

  • 分析対象は画面に照会されたデータです。照会条件を変更してから再度分析すると、変更後のデータを基準に分析します。

  • 対話履歴には AI分析 - {画面名} 形式で記録されます。