次に実際にリング バッファーに出力されたイベント データを確認してみます。
ALTER EVENT SESSION を使用してセッションを開始し、SELECT 文を実行します。

リング バッファーに出力されたイベント データの確認には次のステートメントを実行します。

実行結果は次のように XML 形式で確認することができます。




ターゲット リング バッファーに出力されたイベント データはセッションを停止すると確認するとこができません。また SQL Server のサービスが停止した場合も同様です。そのため出力されたイベント データを恒久的に保存したい場合はイベント ファイルのターゲット package0.event_file (SQL Server 2008 R2 までは asynchronous_file_target)を使用します。
ターゲット package0.event_file のオプションはヘルプに記載されていますが、sys.dm_xe_object_columns を使用しても確認できます。

column_type 列が “customizable” になっているものがユーザーによって指定できるオプションになります。
イベント ファイルのターゲットで作成されたファイルはバイナリ形式のため、メモ帳などで開いて参照することができません。参照するには sys.fn_xe_file_target_read_file を使用します。

SQL Server 2012 ではメタデータ ファイルが削除されたため、sys.fn_xe_file_target_read_file の第 2 パラメータのメタデータ ファイルの指定は必要ありません。SQL Server 2008 R2 までのファイルを読み込む場合の為に残されています。
イベント ファイルのファイルを読み込んだ結果は、リング バッファーのイベント データを読み込んだときと同様に XML 形式となりますが、イベント データが多くなると確認するのも手間がかかります。XPath を使用する方法もありますが、イベントごとにイベント データに含まれる列が異なるためこの方法も手間がかかります。しかし SQL Server 2008 R2 までは結果を確認するにこれらの方法しかありません。大量のイベント データを確認することを考えると気が滅入ってきますが、SQL Server 2012 では GUI が追加されましたので安心してください。
この記事は参考になりましたか?
- あたらしいSQL Server/Denaliの世界連載記事一覧
- この記事の著者
-
坂輪貴行(サカワ タカユキ)
日本マイクロソフトの Premier Field Engineering 部にて、SQL Server ユーザーの支援を行う。前職はシステム エンジニアであり、長く Sybase を使用したプロジェクトに従事。業界歴 14 年の月一ゴルファー。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
この記事は参考になりましたか?
この記事をシェア