次の方法で共有


SQL Server Management Studio でのイベント フィルターの表示

適用対象: SQL Server Azure SQL Database Azure SQL Managed Instance

この記事では、SQL Server Management Studio (SSMS) を使用して、拡張イベントからのターゲット データを表示する方法について説明します。 この記事では、以下の方法について説明します。

  • さまざまな方法でターゲット データを開いて表示する。
  • 拡張イベント用の特別なメニューやツール バーを使用して、ターゲット データをさまざまな形式にエクスポートします。
  • 表示中またはエクスポート前にデータを操作する。 イベント データの表示、エクスポート、フィルター処理、集約を行うことができます。

前提条件

この記事では、イベント セッションを作成して開始する方法を既に知っていることを前提としています。 イベント セッションを作成する方法については、次の記事の初めの部分で説明されています。

クイック スタート: 拡張イベント

SSMS の最近のリリースを使用することをお勧めします。 「SQL Server Management Studio (SSMS) のダウンロード」からダウンロードしてください。

Azure SQL Database との違い

SQL Server と Azure SQL Database での拡張イベントには、一定の違いがあります。

  • Azure SQL Database の場合、ローカル ディスク ドライブ上のファイルを event_file ターゲットにすることはできません。 代わりに、Azure Storage コンテナーを使用する必要があります。 Azure SQL Database のデータベースに接続されている場合、SSMS UI ではローカル パスとファイル名ではなく、ストレージ コンテナーを要求します。
  • SSMS UI では、[ライブ データの監視] が無効にされています。 これは、当該の機能が Azure SQL Database で使用できないためです。
  • たとえば system_health セッションなど、いくつかの拡張イベント セッションが SQL Server と共にインストールされます。 これらのセッションは、Azure SQL Database では使用できません。

この記事は、SQL Server の観点から書かれています。 この記事では、event_file ターゲットを使用します。これは、SQL Server と Azure SQL Database の拡張イベントに異なる方法で実装されています。

Azure SQL Database に固有の拡張イベントに関するドキュメントについては、「Azure SQL Database での拡張イベント」を参照してください。

SSMS イベント ビューアー UI を開く

SSMS イベント ビューアー UI には、次のいずれかの方法でアクセスできます。

  • メインメニューで [ファイル]>[開く]>[ファイル] と移動してから、xel ファイルを参照する
  • [オブジェクト エクスプローラー] > [管理] と移動して、[拡張イベント] を右クリックする
  • [拡張イベント] メニューと [拡張イベント] ツール バー
  • ターゲット データが表示されたタブ付きウィンドウを右クリックする

SSMS での event_file データの表示

SSMS UI で event_file ターゲット データを表示するには、さまざまな方法があります。 event_file ターゲットを指定する際には、xel 拡張子を含め、そのファイル パスと名前を設定します。

  • イベント セッションが開始されるたびに、拡張イベントでファイル名に数値のサフィックスを追加し、ファイル名を一意にします。
    • 例: Checkpoint_Begins_ES_0_131103935140400000.xel
  • xel ファイルはバイナリ ファイルです。 メモ帳などのテキスト エディターで開いてはいけません。
    • SSMS イベント ビューアー UI で複数のイベント ファイルを開くには、[ファイル]>[開く]>[拡張イベント ファイルの結合] ダイアログを使用します。

SSMS では、ほとんどの拡張イベント ターゲットのデータを表示できます。 ただし、ターゲットが異なれば表示も異なります。 次に例を示します。

  • event_file: event_file ターゲットからのデータがイベント ビューアーに表示され、フィルター処理、集約、その他の機能が使用できます。
  • ring_buffer: リング バッファー ターゲットからのデータが XML として表示されます。

SSMS では、etw_classic_sync_target ターゲットからのデータを表示できません。

[ファイル] > [開く] > [ファイル] を使用して xel ファイルを開きます。

[ファイル]>[開く]>[ファイル] を使用すると、SSMS のメイン メニューから単一の xel ファイルを開くことができます。 SSMS に xel ファイルをドラッグ アンド ドロップすることもできます。

ターゲット データの表示

[ターゲット データの表示] オプションを選択すると、これまでにキャプチャされたデータが表示されます。 [オブジェクト エクスプローラー] で、ノードを展開してから、右クリックして次のように選択します。

  • [管理]>[拡張イベント]>[セッション]>[対象のセッション]>[対象のターゲット ノード]>[ターゲット データの表示]

SSMS のタブ付きウィンドウにターゲット データが次のように表示されます。

ターゲットのスクリーンショット > 対象データを表示します。

Note

[ターゲット データの表示] には、セッションに関連付けられているすべての xel ファイルからのデータが表示されます。 開始-停止のサイクルごとにファイルが作成され、より新しい時刻から生成された数値がそのファイル名に追加されますが、各ファイルでは同じルート名を共有します。 ファイル サイズが MAX_FILE_SIZE パラメーターで指定された最大のファイル サイズを超えると、追加のロールオーバー xel ファイルも作成されます。

ライブ データの監視

イベント セッションが実行中の場合は、ターゲットが受け取っているイベント データをリアルタイムで監視するとよいでしょう。

  • [管理]>[拡張イベント]>[セッション]>[対象のセッション]>[ライブ データの監視]

セッションのスクリーンショット > ライブデータを視聴します。

データの表示は、指定した間隔で更新されます。 [ディスパッチの最大待機時間] は、次の操作で確認できます。

  • [拡張イベント]>[セッション]>[対象のセッション]>[プロパティ]>[詳細設定]>[ディスパッチの最大待機時間]

sys.fn_xe_file_target_read_file() 関数を使用したイベント データの表示

sys.fn_xe_file_target_read_file() 関数は、キャプチャされたイベントを表す各行を含む行セットを返します。 イベント データは XML として返されます。 XQuery を使用して、イベント データをリレーショナル型で表示できます。

ターゲット データのエクスポート

SSMS イベント ビューアーにイベント データを表示したら、次の手順を実行してさまざまな形式にエクスポートできます。

表示されたデータのエクスポートのスクリーンショット、拡張イベントの > エクスポート先。

  1. メイン メニューで [拡張イベント] を選択します。
  2. [エクスポート先] を選択してから、形式を選びます。

表示内のデータの操作

SSMS UI には、単にデータをそのまま表示するだけでなく、データを操作する手段がいくつか用意されています。

データ表示内のコンテキスト メニュー

データ表示内の右クリックする場所によって、表示されるコンテキスト メニューが異なります。

データ セルを右クリックする

次のスクリーン ショットは、データ表示内のセルを右クリックすると表示されるコンテキスト メニューを示しています。 このスクリーン ショットは、 [コピー] メニュー項目の展開も示しています。

データ表示でセルを右クリックしたスクリーンショット。

列ヘッダーを右クリックする

次のスクリーン ショットは、 timestamp ヘッダーを右クリックしたときのコンテキスト メニューを示しています。

データ表示または詳細グリッドで列ヘッダーを右クリックするスクリーンショット。

列の選択、列のマージ

[列の選択] オプションを使用して、表示するデータ列を制御できます。 [列の選択] メニュー項目は、次のように異なる場所に表示されます。

  • [拡張イベント] メニュー上。
  • [拡張イベント] ツール バー上。
  • データ表示内のヘッダーのコンテキスト メニュー上。

[列の選択] を選択すると、同じ名前のダイアログが表示されます。

[列の選択] ダイアログを示すスクリーンショットは、[列のマージ] オプションも提供します。

列のマージ

[列の選択] ダイアログには、表示とデータ エクスポートのために複数の列を 1 つにマージする専用のセクションがあります。

フィルター

SSMS イベント ビューアーのフィルターでは、次のことができます。

  • タイムスタンプ 列が返すデータを制限する
  • 列の値でフィルター処理する

時間フィルターと列フィルター間の関係は、ブール値 AND です。

[フィルター] ダイアログの時間範囲と列フィルターのスクリーンショット。

グループ化と集約

ある特定の列の値を対応させることによって複数の行を 1 つにグループ化することは、データの概要集計に向けての第一歩です。

グループ化

[拡張イベント] ツール バーで [グループ化] ボタンをクリックすると、ある特定の列を基準に表示されたデータをグループ化するために使用できるダイアログが開きます。 次のスクリーン ショットは、name 列によるグループ化に使用されているダイアログを示しています。

[グループ化] が選択されたツール バーと [グループ化] ダイアログ ボックスを示すスクリーンショット。

グループ化が完了すると、表示の外観が次のように新しくなります。

グループ化後の新しい表示のスクリーンショット。

集約

表示データがグループ化されたら、他の列のデータを集計できるようになります。 次のスクリーン ショットは、グループ化されたデータが countを基準に集計されていることを示しています。

[集計] が選択されたツール バーと [集計] ダイアログ ボックスを示すスクリーンショット。

集計が完了すると、表示の外観が次のように新しくなります。

COUNT 値が追加されたことを示す表示のスクリーンショット。

ランタイム クエリ プランの表示

query_post_execution_showplan イベントを使用すると、SSMS UI に実際のクエリ プラン (ランタイム統計を含む) を表示できます。 [詳細] ウィンドウが表示されると、[クエリ プラン] タブにグラフィカルなクエリ プランが表示されます。クエリ プラン上のノードにカーソルを合わせると、プラン ノードのプロパティ名とその値の一覧が表示されます。

1 つのノードのプロパティ リストを含むクエリ プランのスクリーンショット。