WMI Provider for Server Events のクラスとプロパティ
適用対象: SQL Server
WMI Provider for Server イベントのプログラミング モデルを構成するイベントには、主に 2 つのカテゴリがあります。これは、プロバイダーに対して WQL クエリを発行することによってクエリを実行できます。 これらは、データ定義言語 (DDL) イベントとトレース イベントです。 QUEUE_ACTIVATION
イベントとBROKER_QUEUE_DISABLED
Service Broker イベントを照会することもできます。
イベントとイベント グループ
サーバー イベントの完全な一覧を取得するには、次の Transact-SQL スクリプトを使用して sys.event_notification_event_types
カタログ ビューに対してクエリを実行します。
; 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
イベントが含まれます。 同様に、 TRC_FULL_TEXT
イベントには、任意の FT_CRAWL_ABORTED
、 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
されます。 また、プロパティ SQLInstance
、PostTime
、ComputerName
、SPID
、および LoginName
が継承されています。 イベントには、子イベントはありません。
Note
DDL と同様の操作を実行するシステム ストアド プロシージャもイベント通知を起動できます。 イベント通知はテストして、実行されているシステム ストアド プロシージャに応答するかどうか、確認してください。 たとえば、 CREATE TYPE
ステートメントとストアド プロシージャ sp_addtype
両方が、 CREATE_TYPE
イベントに対して作成されたイベント通知を発生します。 詳細については、「 DDL イベント」を参照してください。