以下服务器事件构成了用于服务器事件的 WMI 提供程序的编程模型。 可以通过针对提供程序发出 WQL 查询来查询两个主要类别的事件。 这些是数据定义语言(DDL)事件和跟踪事件。 还可以查询QUEUE_ACTIVATION和BROKER_QUEUE_DISABLED服务代理事件。 请注意以下树关系图的包容性。 例如,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\120\Tools\Binn\schemas\sqlserver\2006\11\events\events.xsd。
或者,可以引用在 . https://schemas.microsoft.com/sqlserver上发布的事件架构。
例如,通过引用ALTER_DATABASE事件,你将了解其父事件是DDL_SERVER_LEVEL_EVENTS,其属性是 TSQLCommand 和 DatabaseName。 该事件还继承属性 SQLInstance、PostTime、ComputerName、SPID 和 LoginName。 该事件没有子事件。
注释
执行 DDL 式操作的系统存储过程还可以激发事件通知。 测试您的事件通知以确定它们是否响应运行的系统存储过程。 例如,CREATE TYPE 语句和 sp_addtype 存储过程都将触发在CREATE_TYPE事件上创建的事件通知。 有关详细信息,请参阅DDL 事件。
数据定义语言事件和事件组
跟踪事件和事件组