Поставщик WMI для классов и свойств событий сервера
Область применения: SQL Server
Существует две основные категории событий, составляющих модель программирования для поставщика WMI для событий сервера, которые можно запросить путем выдачи WQL-запросов к поставщику. Это события языка определения данных (DDL) и события трассировки. Можно QUEUE_ACTIVATION
также запрашивать события и BROKER_QUEUE_DISABLED
события компонента service broker.
События и группы событий
Чтобы получить полный список событий сервера, выполните запрос sys.event_notification_event_types
к представлению каталога со следующим скриптом 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;
Замечания
НапримерDDL_ASSEMBLY_EVENTS
, событие включает любое ALTER_ASSEMBLY
CREATE_ASSEMBLY
событие и DROP_ASSEMBLY
событие. Аналогичным образом TRC_FULL_TEXT
событие включает любое FT_CRAWL_ABORTED
FT_CRAWL_STARTED
событие и FT_CRAWL_STOPPED
событие. ALL_EVENTS
охватывает все события DDL, события трассировки и QUEUE_ACTIVATION
BROKER_QUEUE_DISABLED
.
Сведения о том, к каким свойствам может быть выполнен запрос из события или группы событий, см. в схеме события. По умолчанию схема событий устанавливается в следующем каталоге:
C:\Program Files\Microsoft SQL Server\nnn\Tools\Binn\schemas\sqlserver\2006\11\events\events.xsd
Например, ссылаясь на событие, его родительское ALTER_DATABASE
событие — DDL_SERVER_LEVEL_EVENTS
это и его свойстваTSQLCommand
.DatabaseName
Событие также наследует свойства SQLInstance
, PostTime
, ComputerName
, SPID
и LoginName
. Это событие не имеет дочерних событий.
Примечание.
Системные хранимые процедуры, выполняющие DDL-подобные операции, также могут запускать уведомления о событиях. Протестируйте свои уведомления о событиях, чтобы определить их реакцию на системные хранимые процедуры. Например, CREATE TYPE
инструкция и sp_addtype
хранимая процедура будут запускать уведомление о событии, созданное в событии CREATE_TYPE
. Дополнительные сведения см. в разделе "События DDL".