Provedor WMI para classes e propriedades de eventos de servidor

Aplica-se a:SQL Server

Há duas categorias principais de eventos que compõem o modelo de programação para o Provedor WMI para Eventos de Servidor, que podem ser consultados emitindo consultas WQL no provedor. São eventos de linguagem de definição de dados (DDL) e eventos de rastreamento. Os QUEUE_ACTIVATION eventos e BROKER_QUEUE_DISABLED service broker também podem ser consultados.

Eventos e grupos de eventos

Para obter uma lista completa de eventos de servidor, consulte a sys.event_notification_event_types exibição de catálogo com o seguinte script Transact-SQL.

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

Comentários

O DDL_ASSEMBLY_EVENTS evento, por exemplo, inclui qualquer ALTER_ASSEMBLY, CREATE_ASSEMBLYe DROP_ASSEMBLY evento. Da mesma forma, o TRC_FULL_TEXT evento inclui qualquer FT_CRAWL_ABORTED, FT_CRAWL_STARTEDe FT_CRAWL_STOPPED evento. ALL_EVENTS abrange todos os eventos DDL, QUEUE_ACTIVATIONeventos de rastreamento e BROKER_QUEUE_DISABLED.

Para saber quais propriedades podem ser examinadas de um evento ou grupo de eventos, consulte o esquema de evento. Por padrão, o esquema de eventos é instalado no seguinte diretório:

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

Por exemplo, ao se referir ao ALTER_DATABASE evento, seu evento pai é DDL_SERVER_LEVEL_EVENTS e suas propriedades são TSQLCommand e DatabaseName. O evento também herda as propriedades SQLInstance, PostTime, ComputerNameSPID e LoginName. O evento não tem nenhum evento filho.

Observação

Os procedimentos armazenados do sistema que executam operações similares a DDL também podem acionar notificações de eventos. Teste as notificações de eventos para determinar suas respostas aos procedimentos armazenados que são executados. Por exemplo, a instrução e sp_addtype o CREATE TYPE procedimento armazenado dispararão uma notificação de evento criada em um CREATE_TYPE evento. Para obter mais informações, consulte Eventos DDL.