Condividi tramite


Classe e proprietà del provider WMI per eventi del server

Si applica a:SQL Server

Esistono due categorie principali di eventi che costituiscono il modello di programmazione per il provider WMI per gli eventi del server, che possono essere sottoposti a query tramite query WQL sul provider. Si tratta di eventi DDL (Data Definition Language) ed eventi di traccia. È QUEUE_ACTIVATION anche possibile eseguire query sugli eventi e BROKER_QUEUE_DISABLED di Service Broker.

Eventi e gruppi di eventi

Per ottenere un elenco completo degli eventi del server, eseguire una query sulla sys.event_notification_event_types vista del catalogo con lo script Transact-SQL seguente.

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

Osservazioni:

L'evento DDL_ASSEMBLY_EVENTS , ad esempio, include qualsiasi ALTER_ASSEMBLYevento , CREATE_ASSEMBLYe DROP_ASSEMBLY . Analogamente, l'evento TRC_FULL_TEXT include qualsiasi FT_CRAWL_ABORTEDevento , FT_CRAWL_STARTEDe FT_CRAWL_STOPPED . ALL_EVENTS include tutti gli eventi DDL, gli eventi di traccia, QUEUE_ACTIVATIONe BROKER_QUEUE_DISABLED.

Per informazioni sulle proprietà che possono essere sottoposte a query da un evento o un gruppo di eventi, fare riferimento allo schema dell'evento. Per impostazione predefinita, lo schema degli eventi viene installato nella directory seguente:

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

Ad esempio, facendo riferimento all'evento , il ALTER_DATABASE relativo evento padre è DDL_SERVER_LEVEL_EVENTS e le relative proprietà sono TSQLCommand e DatabaseName. L'evento eredita inoltre le proprietà SQLInstance, PostTime, ComputerName, SPID e LoginName. L'evento non dispone di eventi figli.

Nota

Le stored procedure di sistema che eseguono operazioni di tipo DDL possono inoltre attivare le notifiche degli eventi. Testare le notifiche degli eventi per determinarne le risposte alle stored procedure di sistema eseguite. Ad esempio, l'istruzione e sp_addtype la CREATE TYPE stored procedure generano entrambe una notifica di evento creata in un CREATE_TYPE evento. Per altre informazioni, vedere Eventi DDL.