Classe e proprietà del provider WMI per eventi del server
Si applica a: SQL Server
Esistono due categorie principali di eventi che costituiscono il modello di programmazione per il provider WMI per gli eventi del server, che possono essere sottoposti a query tramite query WQL sul provider. Si tratta di eventi DDL (Data Definition Language) ed eventi di traccia. È QUEUE_ACTIVATION
anche possibile eseguire query sugli eventi e BROKER_QUEUE_DISABLED
di Service Broker.
Eventi e gruppi di eventi
Per ottenere un elenco completo degli eventi del server, eseguire una query sulla sys.event_notification_event_types
vista del catalogo con lo script Transact-SQL seguente.
; 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;
Osservazioni:
L'evento DDL_ASSEMBLY_EVENTS
, ad esempio, include qualsiasi ALTER_ASSEMBLY
evento , CREATE_ASSEMBLY
e DROP_ASSEMBLY
. Analogamente, l'evento TRC_FULL_TEXT
include qualsiasi FT_CRAWL_ABORTED
evento , FT_CRAWL_STARTED
e FT_CRAWL_STOPPED
. ALL_EVENTS
include tutti gli eventi DDL, gli eventi di traccia, QUEUE_ACTIVATION
e BROKER_QUEUE_DISABLED
.
Per informazioni sulle proprietà che possono essere sottoposte a query da un evento o un gruppo di eventi, fare riferimento allo schema dell'evento. Per impostazione predefinita, lo schema degli eventi viene installato nella directory seguente:
C:\Programmi\Microsoft SQL Server\nnn\Tools\Binn\schemas\sqlserver\2006\11\events\events.xsd
Ad esempio, facendo riferimento all'evento , il ALTER_DATABASE
relativo evento padre è DDL_SERVER_LEVEL_EVENTS
e le relative proprietà sono TSQLCommand
e DatabaseName
. L'evento eredita inoltre le proprietà SQLInstance
, PostTime
, ComputerName
, SPID
e LoginName
. L'evento non dispone di eventi figli.
Nota
Le stored procedure di sistema che eseguono operazioni di tipo DDL possono inoltre attivare le notifiche degli eventi. Testare le notifiche degli eventi per determinarne le risposte alle stored procedure di sistema eseguite. Ad esempio, l'istruzione e sp_addtype
la CREATE TYPE
stored procedure generano entrambe una notifica di evento creata in un CREATE_TYPE
evento. Per altre informazioni, vedere Eventi DDL.