Partilhar via


Classes e propriedades do Provedor WMI para 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 contra o provedor. Estes são eventos DDL (linguagem de definição de dados) e eventos de rastreamento. Os QUEUE_ACTIVATION eventos e BROKER_QUEUE_DISABLED o agente de serviços também podem ser consultados.

Eventos e grupos de eventos

Para obter uma lista completa de eventos do 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;

Observações

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 consultadas a partir de um evento ou grupo de eventos, consulte o esquema de eventos. Por padrão, o esquema de eventos é instalado no seguinte diretório:

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

Por exemplo, referindo-se 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, , SPIDComputerName, e LoginName. O evento não tem eventos infantis.

Observação

Os procedimentos armazenados do sistema que executam operações semelhantes a DDL também podem disparar notificações de eventos. Teste suas notificações de eventos para determinar suas respostas aos procedimentos armazenados do sistema 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.