Dela via


WMI-provider för klasser och egenskaper för serverhändelser

gäller för:SQL Server

Det finns två huvudkategorier av händelser som utgör programmeringsmodellen för WMI-providern för serverhändelser, som kan frågas genom att utfärda WQL-frågor mot providern. Det här är DDL-händelser (Data Definition Language) och spårningshändelser. Händelser QUEUE_ACTIVATION för service BROKER_QUEUE_DISABLED broker och service broker kan också frågas.

Händelser och händelsegrupper

Hämta en fullständig lista över serverhändelser genom att sys.event_notification_event_types fråga katalogvyn med följande Transact-SQL skript.

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

Anmärkningar

Händelsen DDL_ASSEMBLY_EVENTS innehåller till exempel alla ALTER_ASSEMBLY, CREATE_ASSEMBLYoch DROP_ASSEMBLY händelser. På samma sätt innehåller händelsen TRC_FULL_TEXT alla FT_CRAWL_ABORTED, FT_CRAWL_STARTEDoch FT_CRAWL_STOPPED händelser. ALL_EVENTS omfattar alla DDL-händelser, spårningshändelser, QUEUE_ACTIVATIONoch BROKER_QUEUE_DISABLED.

Information om vilka egenskaper som kan efterfrågas från en händelse- eller händelsegrupp finns i händelseschemat. Som standard installeras händelseschemat i följande katalog:

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

Genom att till exempel referera till ALTER_DATABASE händelsen är DDL_SERVER_LEVEL_EVENTS dess överordnade händelse och dess egenskaper och TSQLCommandDatabaseName. Händelsen ärver också egenskaperna SQLInstance, PostTime, ComputerName, SPIDoch LoginName. Händelsen har inga underordnade händelser.

Anmärkning

System lagrade procedurer som utför DDL-liknande åtgärder kan också utlösa händelsemeddelanden. Testa dina händelsemeddelanden för att fastställa deras svar på system lagrade procedurer som körs. Instruktionen och sp_addtype den CREATE TYPE lagrade proceduren utlöser till exempel både ett händelsemeddelande som skapas på en CREATE_TYPE händelse. Mer information finns i DDL-händelser.