Delen via


WMI-provider voor server gebeurtenissenklassen en -eigenschappen

van toepassing op:SQL Server-

Er zijn twee hoofdcategorieën gebeurtenissen waaruit het programmeermodel bestaat voor de WMI-provider voor servergebeurtenissen, die kunnen worden opgevraagd door WQL-query's uit te voeren op de provider. Dit zijn DDL-gebeurtenissen (Data Definition Language) en traceringsevenementen. Er kunnen ook query's worden uitgevoerd op de gebeurtenissen van de QUEUE_ACTIVATION servicebroker BROKER_QUEUE_DISABLED .

Gebeurtenissen en gebeurtenisgroepen

Als u een volledige lijst met server gebeurtenissen wilt ophalen, voert u een query uit in de sys.event_notification_event_types catalogusweergave met het volgende Transact-SQL script.

; 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;

Opmerkingen

De DDL_ASSEMBLY_EVENTS gebeurtenis bevat bijvoorbeeld een ALTER_ASSEMBLY, CREATE_ASSEMBLYen DROP_ASSEMBLY een gebeurtenis. Op dezelfde manier bevat de TRC_FULL_TEXT gebeurtenis een FT_CRAWL_ABORTED, FT_CRAWL_STARTEDen FT_CRAWL_STOPPED een gebeurtenis. ALL_EVENTSbehandelt alle DDL-gebeurtenissen, traceringsevenementen en QUEUE_ACTIVATIONBROKER_QUEUE_DISABLED.

Als u wilt weten welke eigenschappen kunnen worden opgevraagd vanuit een gebeurtenis of gebeurtenisgroep, raadpleegt u het gebeurtenisschema. Standaard wordt het gebeurtenisschema geïnstalleerd in de volgende map:

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

Als u bijvoorbeeld naar de gebeurtenis verwijst, is de ALTER_DATABASE bovenliggende gebeurtenis en de eigenschappen ervan en TSQLCommandDatabaseName.DDL_SERVER_LEVEL_EVENTS De gebeurtenis neemt ook de eigenschappen SQLInstance, PostTime, ComputerName, en SPID.LoginName De gebeurtenis heeft geen onderliggende gebeurtenissen.

Opmerking

Door het systeem opgeslagen procedures waarmee DDL-achtige bewerkingen worden uitgevoerd, kunnen ook gebeurtenismeldingen worden geactiveerd. Test uw gebeurtenismeldingen om hun reacties te bepalen op door het systeem opgeslagen procedures die worden uitgevoerd. De instructie en sp_addtype de CREATE TYPE opgeslagen procedure activeren bijvoorbeeld beide een gebeurtenismelding die op een CREATE_TYPE gebeurtenis is gemaakt. Zie DDL-gebeurtenissen voor meer informatie.