Partager via


Fournisseur WMI pour les classes et propriétés des événements serveur

S'applique à : SQL Server

Il existe deux catégories principales d’événements qui composent le modèle de programmation pour le fournisseur WMI pour les événements de serveur, qui peuvent être interrogés en émettant des requêtes WQL sur le fournisseur. Il s’agit d’événements de langage de définition de données (DDL) et d’événements de trace. Les QUEUE_ACTIVATION événements et BROKER_QUEUE_DISABLED service Broker peuvent également être interrogés.

Événements et groupes d’événements

Pour obtenir la liste complète des événements de serveur, interrogez l’affichage sys.event_notification_event_types catalogue avec le script Transact-SQL suivant.

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

Notes

L’événement DDL_ASSEMBLY_EVENTS , par exemple, inclut n’importe quel ALTER_ASSEMBLY, CREATE_ASSEMBLYet DROP_ASSEMBLY l’événement. De même, l’événement TRC_FULL_TEXT inclut n’importe quel événement et FT_CRAWL_STOPPED n’importe quel FT_CRAWL_ABORTEDFT_CRAWL_STARTEDévénement. ALL_EVENTS couvre tous les événements DDL, les événements de trace, QUEUE_ACTIVATIONet BROKER_QUEUE_DISABLED.

Pour savoir quelles propriétés d'un événement ou d'un groupe d'événements peuvent être interrogées, reportez-vous au schéma d'événement. Par défaut, le schéma d’événement est installé dans le répertoire suivant :

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

Par exemple, en faisant référence à l’événement ALTER_DATABASE , son événement parent est DDL_SERVER_LEVEL_EVENTS et ses propriétés sont TSQLCommand et DatabaseName. Cet événement hérite également des propriétés SQLInstance, PostTime, ComputerName, SPID et LoginName. Il ne possède pas d'événements enfants.

Remarque

Les procédures stockées système qui exécutent des opérations de type DDL peuvent également déclencher des notifications d'événements. Testez vos notifications d'événements pour déterminer leur réponse aux procédures stockées du système qui sont exécutées. Par exemple, l’instruction et sp_addtype la CREATE TYPE procédure stockée déclenchent toutes deux une notification d’événement créée sur un CREATE_TYPE événement. Pour plus d’informations, consultez Événements DDL.