Bagikan melalui


Penyedia WMI untuk kelas dan properti Peristiwa Server

Berlaku untuk: SQL Server

Ada dua kategori utama peristiwa yang membentuk model pemrograman untuk Penyedia WMI untuk Peristiwa Server, yang dapat dikueri dengan mengeluarkan kueri WQL terhadap penyedia. Ini adalah peristiwa bahasa definisi data (DDL), dan peristiwa pelacakan. Peristiwa QUEUE_ACTIVATION broker layanan dan BROKER_QUEUE_DISABLED juga dapat dikueri.

Peristiwa dan grup peristiwa

Untuk mendapatkan daftar lengkap peristiwa server, kueri sys.event_notification_event_types tampilan katalog dengan skrip Transact-SQL berikut.

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

Keterangan

Peristiwa, DDL_ASSEMBLY_EVENTS misalnya, mencakup peristiwa , CREATE_ASSEMBLY, dan DROP_ASSEMBLY apa punALTER_ASSEMBLY. Demikian pula, acara ini TRC_FULL_TEXT mencakup peristiwa , , FT_CRAWL_STARTEDdan FT_CRAWL_STOPPED apa punFT_CRAWL_ABORTED. ALL_EVENTS mencakup semua peristiwa DDL, peristiwa pelacakan, QUEUE_ACTIVATION, dan BROKER_QUEUE_DISABLED.

Untuk mempelajari properti mana yang dapat dikueri dari grup peristiwa atau peristiwa, lihat skema peristiwa. Secara default, skema peristiwa diinstal di direktori berikut:

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

Misalnya, dengan merujuk ke acara, ALTER_DATABASE peristiwa induknya adalah DDL_SERVER_LEVEL_EVENTS dan propertinya adalah TSQLCommand dan DatabaseName. Peristiwa ini juga mewarisi properti SQLInstance, , PostTime, ComputerNameSPID, dan LoginName. Acara ini tidak memiliki peristiwa anak.

Catatan

Prosedur tersimpan sistem yang melakukan operasi seperti DDL juga dapat mengaktifkan pemberitahuan peristiwa. Uji pemberitahuan peristiwa Anda untuk menentukan responsnya terhadap prosedur tersimpan sistem yang dijalankan. Misalnya, CREATE TYPE pernyataan dan sp_addtype prosedur tersimpan keduanya akan mengaktifkan pemberitahuan peristiwa yang dibuat pada CREATE_TYPE peristiwa. Untuk informasi selengkapnya, lihat Peristiwa DDL.