WMI Provider for Server Events のクラスとプロパティ

適用対象:SQL Server

WMI Provider for Server Events のプログラミング モデルを構成するイベントには、2 つのメインカテゴリがあります。これは、プロバイダーに対して WQL クエリを発行することによってクエリを実行できます。 これらは、データ定義言語 (DDL) イベントとトレース イベントです。 QUEUE_ACTIVATIONまた、サービス ブローカー イベントとBROKER_QUEUE_DISABLEDサービス ブローカー イベントを照会することもできます。

イベントとイベント グループ

サーバー イベントの完全な一覧を取得するには、次の sys.event_notification_event_types Transact-SQL スクリプトを使用してカタログ ビューにクエリを実行します。

; WITH EventsCTE (Child, Level, Hierarchy)
AS (
    SELECT t.[type],
        0,
        CAST(t.[type_name] AS NVARCHAR(MAX))
    FROM sys.event_notification_event_types t
    WHERE t.parent_type IS NULL

    UNION ALL

    SELECT t.[type],
        Level + 1,
        CAST(rc.Hierarchy + '/' + cast(t.[type_name] AS NVARCHAR(MAX)) AS NVARCHAR(MAX))
    FROM sys.event_notification_event_types t
    INNER JOIN EventsCTE rc
        ON t.parent_type = rc.Child
    )
SELECT Level, Hierarchy
FROM EventsCTE
WHERE Level > 0
ORDER BY Hierarchy;

解説

イベントには DDL_ASSEMBLY_EVENTS 、たとえば、任意 ALTER_ASSEMBLYの 、、 CREATE_ASSEMBLYおよびイベントが DROP_ASSEMBLY 含まれます。 同様に、イベントには、任意FT_CRAWL_ABORTEDTRC_FULL_TEXT 、、FT_CRAWL_STARTEDおよびイベントがFT_CRAWL_STOPPED含まれます。 ALL_EVENTS には、すべての DDL イベント、トレース イベント、 QUEUE_ACTIVATIONおよび BROKER_QUEUE_DISABLED.

イベントまたはイベント グループから照会できるプロパティについては、イベント スキーマを参照してください。 既定では、イベント スキーマは次のディレクトリにインストールされます。

C:\Program Files\Microsoft SQL Server\nnn\Tools\Binn\schemas\sqlserver\2006\11\events\events.xsd

たとえば、イベントを ALTER_DATABASE 参照すると、その親イベントは DDL_SERVER_LEVEL_EVENTS 次のようになります。また、そのプロパティは TSQLCommand 次のようになります DatabaseName。 また、プロパティ SQLInstancePostTimeComputerNameSPID、および LoginName が継承されています。 イベントには、子イベントはありません。

Note

DDL と同様の操作を実行するシステム ストアド プロシージャもイベント通知を起動できます。 イベント通知はテストして、実行されているシステム ストアド プロシージャに応答するかどうか、確認してください。 たとえば、 CREATE TYPE ステートメントと sp_addtype ストアド プロシージャの両方で、イベントに対 CREATE_TYPE して作成されたイベント通知が発生します。 詳細については、「DDL イベント」を参照してください