拡張イベントのツール

適用対象:SQL ServerAzure SQL DatabaseAzure SQL Managed Instance

SQL Server 拡張イベント セッションの作成と管理には、次のツールを使用できます。

  • データ定義言語 (DDL) ステートメント。 拡張イベント セッションの作成および変更に使用できます。

  • 動的管理ビュー、カタログ ビュー、およびシステム テーブル。 Transact-SQL ステートメントを使用して、セッション データやメタデータを取得することができます。 システム テーブルを使用すると、SQL トレース イベントのクラスや列と等価な既存の拡張イベントを特定できます。

  • オブジェクト エクスプローラーの [拡張イベント] ノード。 セッションの開始、停止、削除のほか、セッション テンプレートのインポートとエクスポートを行うことができます。

  • SQL Server PowerShell プロバイダー。 拡張イベント セッションの作成、変更、および管理に使用できる強力なツールです。 詳細については、「 拡張イベントへの PowerShell プロバイダーの使用」を参照してください。

  • SQL Server Management Studio. 拡張イベントのトピックに用意されているコード サンプルを作成し、実行することができます。 詳細については、「 オブジェクト エクスプローラー」を参照してください。

自分が作成したセッション以外にも、サーバーには、既定のシステム正常性セッションが存在します。 このセッションは、パフォーマンスの問題をトラブルシューティングするのに役立つシステム データを収集します。 詳細については、「 system_health セッションの使用」を参照してください。

DDL ステートメント

拡張イベント セッションを作成、変更、および削除するには、次の DDL ステートメントを使用します。

名前 説明
CREATE EVENT SESSION (Transact-SQL) イベントのソース、イベント セッション ターゲット、およびイベント セッション パラメーターを識別する拡張イベント セッション オブジェクトを作成します。
ALTER EVENT SESSION (Transact-SQL) イベント セッションの開始および停止、またはイベント セッションの構成変更を行います。
DROP EVENT SESSION (Transact-SQL) イベント セッションを削除します。

カタログ ビュー

イベント セッションの作成時に作成されたメタデータを取得するには、次のカタログ ビューを使用します。

名前 説明
sys.server_event_sessions (Transact-SQL) すべてのイベント セッションの定義を一覧表示します。
sys.server_event_session_actions (Transact-SQL) イベント セッションの各イベントのアクションごとに 1 行のデータを返します。
sys.server_event_session_events (Transact-SQL) イベント セッションのイベントごとに行を返します。
sys.server_event_session_fields (Transact-SQL) イベントおよびターゲットに明示的に設定されたカスタマイズ可能な列ごとに 1 行のデータを返します。
sys.server_event_session_targets (Transact-SQL) イベント セッションのイベント ターゲットごとに 1 行のデータを返します。

動的管理ビュー

セッション メタデータおよびセッション データを取得するには、次の動的管理ビューを使用します。 メタデータはカタログ ビューから取得され、セッション データはイベント セッションの開始時と実行時に作成されます。

注意

これらのビューには、セッションが開始されるまでセッション データは格納されません。

名前 説明
sys.dm_os_dispatcher_pools (Transact-SQL) セッション ディスパッチャー プールに関する情報を返します。
sys.dm_xe_objects (Transact-SQL) イベント パッケージによって公開されるオブジェクトごとに 1 行のデータを返します。
sys.dm_xe_object_columns (Transact-SQL) すべてのオブジェクトのスキーマ情報を返します。
sys.dm_xe_packages (Transact-SQL) 拡張イベント エンジンに登録されているすべてのパッケージを一覧表示します。
sys.dm_xe_sessions (Transact-SQL) アクティブな拡張イベント セッションに関する情報を返します。
sys.dm_xe_session_targets (Transact-SQL) セッション ターゲットに関する情報を返します。
sys.dm_xe_session_events (Transact-SQL) セッション イベントに関する情報を返します。
sys.dm_xe_session_event_actions (Transact-SQL) イベント セッション アクションに関する情報を返します。
sys.dm_xe_map_values (Transact-SQL) 内部数値キーをユーザーが判読できるテキストにマッピングします。
sys.dm_xe_session_object_columns (Transact-SQL) セッションにバインドされたオブジェクトの構成値を示します。

システム テーブル

次のシステム テーブルを使用して、SQL トレース イベントのクラスおよび列と等価な拡張イベントの情報を取得します。

名前 説明
trace_xe_event_map (Transact-SQL) SQL トレース イベント クラスに割り当てられている拡張イベントのイベントごとに 1 行のデータを格納します。
trace_xe_action_map (Transact-SQL) SQL トレース列 ID に割り当てられている拡張イベントのアクションごとに 1 行のデータを格納します。

参照

動的管理ビューと動的管理関数 (Transact-SQL)
カタログ ビュー (Transact-SQL)
SQL Server Extended Events Tables (Transact-SQL)
system_health セッションの使用
拡張イベントへの PowerShell プロバイダーの使用