SQL Server 拡張イベント エンジンSQL Server Extended Events Engine

SQL ServerSQL Server 拡張イベント エンジンは、次の役割を持った各種のサービスおよびオブジェクトで構成されます。The SQL ServerSQL Server Extended Events engine is a collection of services and objects that:

  • イベントの定義を有効にする。Enable the definition of events.

  • イベント データの処理を有効にする。Enable processing event data.

  • システム内の拡張イベント サービスとオブジェクトを管理する。Manage Extended Events services and objects in the system.

  • 拡張イベント セッションのリストを保持し、そのリストへのアクセスを管理する。Maintain a list of Extended Events sessions and manage access to that list.

拡張イベント エンジンそのものは、イベントまたはイベント発生時のアクションを一切提供しません。The Extended Events engine itself does not provide any events or actions to take when an event fires. 拡張イベント エンジンとの対話は、エンジンを使用するプロセスによって定義されます。The processes that use the Extended Events engine define interaction with the engine. これらのプロセスによって、イベント ポイントが追加され、イベントの発生時に実行されるアクションが指定されます。These processes add event points and supply the actions to take in response to event firing.

拡張イベント セッションの概略図を次に示します。The following illustration shows a simplified view of an Extended Events session. 詳細については、「 SQL Server 拡張イベント セッション」を参照してください。For more information, see SQL Server Extended Events Sessions.

拡張イベント アーキテクチャの詳細Detailed extended events architecture

次のことを考慮してください。Note the following:

  • 各 Windows プロセスは、1 つまたは複数のモジュール (Win32 プロセスWin32 モジュール) を持つ場合があります。Each Windows process can have one or more modules (Win32 process, Win32 module). これらは、 バイナリ または 実行可能モジュールとも呼ばれます。These are also known as binaries or executable modules.

  • 各 Windows プロセス モジュールには、1 つまたは複数の拡張イベント パッケージ (Package) が含まれる場合があります。拡張イベント パッケージには、1 つまたは複数の拡張イベント オブジェクト (TypeTargetActionMapPredicate、および Event) が含まれます。Each of the Windows process modules can contain one or more Extended Events packages (Package), which contain one or more Extended Events objects (Type, Target, Action, Map, Predicate, and Event).

  • ホスト プロセス内に存在できる拡張イベント エンジン (Extended event engine) のインスタンスは 1 つだけです。拡張イベント エンジンのインスタンスは次の処理を実行します。Inside a host process there can only be one instance of the Extended Events engine (Extended event engine), which:

    • セッション関連の処理を管理する (セッションの列挙など)。Manages some aspects of the session (for example, enumerating sessions).

    • ディスパッチを処理する (Dispatcher)。Handles dispatching (Dispatcher). これはスレッド プールに似ています。This is similar to a thread pool.

    • イベントのメモリ バッファー (Buffer) を処理する。Handles memory buffers (Buffer) for events. バッファーがいっぱいになると、そのバッファーがターゲットにディスパッチされます。When buffers are filled, the buffers are dispatched to targets.

  • セッションが作成された後、イベントは必要に応じてセッション (Session context) にバインドされます。After a session is created and events are optionally bound to the session (Session context):

    • 場合によっては、ターゲットのインスタンス (Target instance) も作成されてセッションに追加されます。Instances of targets (Target instance) may be also be created and added to the session.

    • バッファーがいっぱいになると、そのバッファーがターゲットにディスパッチされます。When buffers are filled, those buffers are dispatched to targets.

参照See Also

拡張イベントExtended Events