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_STARTED
dan 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
, ComputerName
SPID
, 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.