Udostępnij za pośrednictwem


Dostawca WMI dla klas i właściwości zdarzeń serwera

Dotyczy:programu SQL Server

Istnieją dwie główne kategorie zdarzeń, które składają się na model programowania dla dostawcy WMI dla zdarzeń serwera, które mogą być odpytywane przez wystawianie zapytań WQL względem dostawcy. Są to zdarzenia języka definicji danych (DDL) i zdarzenia śledzenia. Zdarzenia brokera QUEUE_ACTIVATION usług i BROKER_QUEUE_DISABLED można również wykonywać zapytania.

Zdarzenia i grupy zdarzeń

Aby uzyskać pełną listę zdarzeń serwera, wykonaj zapytanie dotyczące sys.event_notification_event_types widoku wykazu przy użyciu następującego skryptu 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;

Uwagi

Zdarzenie DDL_ASSEMBLY_EVENTS zawiera na przykład dowolne ALTER_ASSEMBLYzdarzenie , CREATE_ASSEMBLYi DROP_ASSEMBLY . TRC_FULL_TEXT Podobnie zdarzenie zawiera dowolne FT_CRAWL_ABORTEDzdarzenie , FT_CRAWL_STARTEDi FT_CRAWL_STOPPED . ALL_EVENTS Obejmuje wszystkie zdarzenia DDL, zdarzenia śledzenia, QUEUE_ACTIVATIONi BROKER_QUEUE_DISABLED.

Aby dowiedzieć się, które właściwości mogą być odpytywane z poziomu zdarzenia lub grupy zdarzeń, zapoznaj się ze schematem zdarzeń. Domyślnie schemat zdarzenia jest instalowany w następującym katalogu:

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

Na przykład, odwołując się do ALTER_DATABASE zdarzenia, jego zdarzenie nadrzędne jest DDL_SERVER_LEVEL_EVENTS i jego właściwości to TSQLCommand i DatabaseName. Zdarzenie dziedziczy również właściwości SQLInstance, , PostTimeComputerName, SPIDi LoginName. Wydarzenie nie ma wydarzeń podrzędnych.

Uwaga

Systemowe procedury składowane, które wykonują operacje podobne do języka DDL, mogą również wyzwalać powiadomienia o zdarzeniach. Przetestuj powiadomienia o zdarzeniach, aby określić ich odpowiedzi na uruchomione procedury składowane systemu. Na przykład instrukcja CREATE TYPE i sp_addtype procedura składowana będą uruchamiać powiadomienie o zdarzeniu, które jest tworzone na CREATE_TYPE zdarzeniu. Aby uzyskać więcej informacji, zobacz Zdarzenia DDL.