SQL Server 拡張イベント エンジンは、次のサービスとオブジェクトのコレクションです。
イベントの定義を有効にします。
イベント データの処理を有効にします。
システム内の拡張イベント サービスとオブジェクトを管理します。
拡張イベント セッションの一覧を維持し、そのリストへのアクセスを管理します。
拡張イベント エンジン自体は、イベントの発生時に実行するイベントやアクションを提供しません。 拡張イベント エンジンとの対話は、エンジンを使用するプロセスによって定義されます。 これらのプロセスによって、イベント ポイントが追加され、イベントの発生時に実行されるアクションが指定されます。
拡張イベント セッションの概略図を次に示します。 詳細については、「 SQL Server 拡張イベント セッション」を参照してください。
次の点に注意してください。
各 Windows プロセスには、1 つ以上のモジュール (Win32 プロセス、 Win32 モジュール) を含めることができます。 これらはバイナリまたは実行可能モジュールとも呼ばれます。
各 Windows プロセス モジュールには、1 つ以上の拡張イベント パッケージ (パッケージ) を含めることができます。このパッケージには、1 つ以上の拡張イベント オブジェクト (種類、 ターゲット、 アクション、 マップ、 述語、 およびイベント) が含まれます。
ホスト プロセス内に存在できる拡張イベント エンジン (拡張イベント エンジン) のインスタンスは 1 つだけです。このインスタンスは次のとおりです。
セッション関連の処理を管理する (セッションの列挙など)。
ディスパッチ処理 (ディスパッチャー)。 これはスレッド プールに似ています。
イベントのメモリ バッファー (バッファー) を処理します。 バッファーがいっぱいになると、そのバッファーがターゲットにディスパッチされます。
セッションが作成され、必要に応じてイベントがセッションにバインドされた後 (セッション コンテキスト):
ターゲットのインスタンス (ターゲット インスタンス) も作成され、セッションに追加される場合があります。
バッファーがいっぱいになると、そのバッファーがターゲットにディスパッチされます。