DDL 事件组
下表列出了可用于运行 DDL 触发器或事件通知的 DDL 事件组,以及它们涵盖的 Transact-SQL 语句。 请注意事件组的内在关系。 例如,指定 FOR DDL_TABLE_EVENTS (10018) 的 DDL 触发器或事件通知涵盖 CREATE TABLE、ALTER TABLE 和 DROP TABLE Transact-SQL 语句。 指定 FOR DDL_TABLE_VIEW_EVENTS (10017) 的 DDL 触发器或事件通知涵盖类型DDL_TABLE_EVENTS、DDL_VIEW_EVENTS、DDL_INDEX_EVENTS 和 DDL_STATISTICS_EVENTS 下的所有 Transact-SQL 语句。
注意
执行 DDL 式操作的特定系统存储过程也可以激发 DDL 触发器或事件通知。 请测试您的 DDL 触发器和事件通知以确定它们是否响应运行的系统存储过程。 例如,CREATE TYPE 语句和 sp_addtype 存储过程都将激发针对 CREATE_TYPE 事件创建的 DDL 触发器或事件通知。
事件
DDL_DATABASE_LEVEL_EVENTS 下列出的事件在服务器(实例)或数据库级别执行。 DDL_SERVER_LEVEL_EVENTS 下列出的事件只在服务器级别执行。
parent_type | type | name |
Null | 296 | ALTER_SERVER_CONFIGURATION |
Null | 10001 | DDL_EVENTS |
10001 | 10016 | |DDL_DATABASE_LEVEL_EVENTS |
10016 | 10027 | | |DDL_ASSEMBLY_EVENTS |
10027 | 102 | | | |ALTER_ASSEMBLY |
10027 | 101 | | | |CREATE_ASSEMBLY |
10027 | 103 | | | |DROP_ASSEMBLY |
10016 | 10029 | | |DDL_DATABASE_SECURITY_EVENTS |
10029 | 10033 | | | |DDL_APPLICATION_ROLE_EVENTS |
10033 | 138 | | | | |ALTER_APPLICATION_ROLE |
10033 | 137 | | | | |CREATE_APPLICATION_ROLE |
10033 | 139 | | | | |DROP_APPLICATION_ROLE |
10029 | 10038 | | | |DDL_ASYMMETRIC_KEY_EVENTS |
10038 | 248 | | | | |ALTER_ASYMMETRIC_KEY |
10038 | 247 | | | | |CREATE_ASYMMETRIC_KEY |
10038 | 249 | | | | |DROP_ASYMMETRIC_KEY |
10029 | 10036 | | | |DDL_AUTHORIZATION_DATABASE_EVENTS |
10036 | 205 | | | | |ALTER_AUTHORIZATION_DATABASE |
10029 | 10030 | | | |DDL_CERTIFICATE_EVENTS |
10030 | 198 | | | | |ALTER_CERTIFICATE |
10030 | 197 | | | | |CREATE_CERTIFICATE |
10030 | 199 | | | | |DROP_CERTIFICATE |
10029 | 10039 | | | |DDL_CRYPTO_SIGNATURE_EVENTS |
10039 | 257 | | | | |ADD_SIGNATURE |
10039 | 255 | | | | |ADD_SIGNATURE_SCHEMA_OBJECT |
10039 | 258 | | | | |DROP_SIGNATURE |
10039 | 256 | | | | |DROP_SIGNATURE_SCHEMA_OBJECT |
10029 | 10066 | | | |DDL_DATABASE_AUDIT_SPECIFICATION_EVENTS |
10066 | 291 | | | | |ALTER_DATABASE_AUDIT_SPECIFICATION |
10066 | 290 | | | | |CREATE_DATABASE_AUDIT_SPECIFICATION |
10066 | 292 | | | | |DROP_DATABASE_AUDIT_SPECIFICATION |
10029 | 10062 | | | |DDL_DATABASE_ENCRYPTION_KEY_EVENTS |
10062 | 279 | | | | |ALTER_DATABASE_ENCRYPTION_KEY |
10062 | 278 | | | | |CREATE_DATABASE_ENCRYPTION_KEY |
10062 | 280 | | | | |DROP_DATABASE_ENCRYPTION_KEY |
10029 | 10035 | | | |DDL_GDR_DATABASE_EVENTS |
10035 | 171 | | | | |DENY_DATABASE |
10035 | 170 | | | | |GRANT_DATABASE |
10035 | 172 | | | | |REVOKE_DATABASE |
10029 | 10040 | | | |DDL_MASTER_KEY_EVENTS |
10040 | 253 | | | | |ALTER_MASTER_KEY |
10040 | 252 | | | | |CREATE_MASTER_KEY |
10040 | 254 | | | | |DROP_MASTER_KEY |
10029 | 10032 | | | |DDL_ROLE_EVENTS |
10032 | 207 | | | | |ADD_ROLE_MEMBER |
10032 | 135 | | | | |ALTER_ROLE |
10032 | 134 | | | | |CREATE_ROLE |
10032 | 136 | | | | |DROP_ROLE |
10032 | 208 | | | | |DROP_ROLE_MEMBER |
10029 | 10034 | | | |DDL_SCHEMA_EVENTS |
10034 | 142 | | | | |ALTER_SCHEMA |
10034 | 141 | | | | |CREATE_SCHEMA |
10034 | 143 | | | | |DROP_SCHEMA |
10029 | 10037 | | | |DDL_SYMMETRIC_KEY_EVENTS |
10037 | 245 | | | | |ALTER_SYMMETRIC_KEY |
10037 | 244 | | | | |CREATE_SYMMETRIC_KEY |
10037 | 246 | | | | |DROP_SYMMETRIC_KEY |
10029 | 10031 | | | |DDL_USER_EVENTS |
10031 | 132 | | | | |ALTER_USER |
10031 | 131 | | | | |CREATE_USER |
10031 | 133 | | | | |DROP_USER |
10016 | 10052 | | |DDL_DEFAULT_EVENTS |
10052 | 218 | | | |BIND_DEFAULT |
10052 | 220 | | | |CREATE_DEFAULT |
10052 | 231 | | | |DROP_DEFAULT |
10052 | 242 | | | |UNBIND_DEFAULT |
10016 | 10026 | | |DDL_EVENT_NOTIFICATION_EVENTS |
10026 | 74 | | | |CREATE_EVENT_NOTIFICATION |
10026 | 76 | | | |DROP_EVENT_NOTIFICATION |
10016 | 10053 | | |DDL_EXTENDED_PROPERTY_EVENTS |
10053 | 211 | | | |ALTER_EXTENDED_PROPERTY |
10053 | 222 | | | |CREATE_EXTENDED_PROPERTY |
10053 | 233 | | | |DROP_EXTENDED_PROPERTY |
10016 | 10054 | | |DDL_FULLTEXT_CATALOG_EVENTS |
10054 | 212 | | | |ALTER_FULLTEXT_CATALOG |
10054 | 223 | | | |CREATE_FULLTEXT_CATALOG |
10054 | 234 | | | |DROP_FULLTEXT_CATALOG |
10016 | 10067 | | |DDL_FULLTEXT_STOPLIST_EVENTS |
10067 | 294 | | | |ALTER_FULLTEXT_STOPLIST |
10067 | 293 | | | |CREATE_FULLTEXT_STOPLIST |
10067 | 295 | | | |DROP_FULLTEXT_STOPLIST |
10016 | 10023 | | |DDL_FUNCTION_EVENTS |
10023 | 62 | | | |ALTER_FUNCTION |
10023 | 61 | | | |CREATE_FUNCTION |
10023 | 63 | | | |DROP_FUNCTION |
10016 | 10049 | | |DDL_PARTITION_EVENTS |
10049 | 10050 | | | |DDL_PARTITION_FUNCTION_EVENTS |
10050 | 192 | | | | |ALTER_PARTITION_FUNCTION |
10050 | 191 | | | | |CREATE_PARTITION_FUNCTION |
10050 | 193 | | | | |DROP_PARTITION_FUNCTION |
10049 | 10051 | | | |DDL_PARTITION_SCHEME_EVENTS |
10051 | 195 | | | | |ALTER_PARTITION_SCHEME |
10051 | 194 | | | | |CREATE_PARTITION_SCHEME |
10051 | 196 | | | | |DROP_PARTITION_SCHEME |
10016 | 10055 | | |DDL_PLAN_GUIDE_EVENTS |
10055 | 216 | | | |ALTER_PLAN_GUIDE |
10055 | 228 | | | |CREATE_PLAN_GUIDE |
10055 | 238 | | | |DROP_PLAN_GUIDE |
10016 | 10024 | | |DDL_PROCEDURE_EVENTS |
10024 | 52 | | | |ALTER_PROCEDURE |
10024 | 51 | | | |CREATE_PROCEDURE |
10024 | 53 | | | |DROP_PROCEDURE |
10016 | 10056 | | |DDL_RULE_EVENTS |
10056 | 219 | | | |BIND_RULE |
10056 | 229 | | | |CREATE_RULE |
10056 | 239 | | | |DROP_RULE |
10056 | 243 | | | |UNBIND_RULE |
10016 | 10069 | | |DDL_SEARCH_PROPERTY_LIST_EVENTS |
10069 | 298 | | | |ALTER_SEARCH_PROPERTY_LIST |
10069 | 297 | | | |CREATE_SEARCH_PROPERTY_LIST |
10069 | 299 | | | |DROP_SEARCH_PROPERTY_LIST |
10016 | 10070 | | |DDL_SEQUENCE_EVENTS |
10070 | 304 | | | |ALTER_SEQUENCE |
10070 | 303 | | | |CREATE_SEQUENCE |
10070 | 305 | | | |DROP_SEQUENCE |
10016 | 10041 | | |DDL_SSB_EVENTS |
10041 | 10063 | | | |DDL_BROKER_PRIORITY_EVENTS |
10063 | 282 | | | | |ALTER_BROKER_PRIORITY |
10063 | 281 | | | | |CREATE_BROKER_PRIORITY |
10063 | 283 | | | | |DROP_BROKER_PRIORITY |
10041 | 10043 | | | |DDL_CONTRACT_EVENTS |
10043 | 154 | | | | |CREATE_CONTRACT |
10043 | 156 | | | | |DROP_CONTRACT |
10041 | 10042 | | | |DDL_MESSAGE_TYPE_EVENTS |
10042 | 152 | | | | |ALTER_MESSAGE_TYPE |
10042 | 151 | | | | |CREATE_MESSAGE_TYPE |
10042 | 153 | | | | |DROP_MESSAGE_TYPE |
10041 | 10044 | | | |DDL_QUEUE_EVENTS |
10044 | 158 | | | | |ALTER_QUEUE |
10044 | 157 | | | | |CREATE_QUEUE |
10044 | 159 | | | | |DROP_QUEUE |
10041 | 10047 | | | |DDL_REMOTE_SERVICE_BINDING_EVENTS |
10047 | 175 | | | | |ALTER_REMOTE_SERVICE_BINDING |
10047 | 174 | | | | |CREATE_REMOTE_SERVICE_BINDING |
10047 | 176 | | | | |DROP_REMOTE_SERVICE_BINDING |
10041 | 10046 | | | |DDL_ROUTE_EVENTS |
10046 | 165 | | | | |ALTER_ROUTE |
10046 | 164 | | | | |CREATE_ROUTE |
10046 | 166 | | | | |DROP_ROUTE |
10041 | 10045 | | | |DDL_SERVICE_EVENTS |
10045 | 162 | | | | |ALTER_SERVICE |
10045 | 161 | | | | |CREATE_SERVICE |
10045 | 163 | | | | |DROP_SERVICE |
10016 | 10022 | | |DDL_SYNONYM_EVENTS |
10022 | 34 | | | |CREATE_SYNONYM |
10022 | 36 | | | |DROP_SYNONYM |
10016 | 10017 | | |DDL_TABLE_VIEW_EVENTS |
10017 | 10020 | | | |DDL_INDEX_EVENTS |
10020 | 213 | | | | |ALTER_FULLTEXT_INDEX |
10020 | 25 | | | | |ALTER_INDEX |
10020 | 224 | | | | |CREATE_FULLTEXT_INDEX |
10020 | 24 | | | | |CREATE_INDEX |
10020 | 274 | | | | |CREATE_SPATIAL_INDEX |
10020 | 206 | | | | |CREATE_XML_INDEX |
10020 | 235 | | | | |DROP_FULLTEXT_INDEX |
10020 | 26 | | | | |DROP_INDEX |
10017 | 10021 | | | |DDL_STATISTICS_EVENTS |
10021 | 27 | | | | |CREATE_STATISTICS |
10021 | 29 | | | | |DROP_STATISTICS |
10021 | 28 | | | | |UPDATE_STATISTICS |
10017 | 10018 | | | |DDL_TABLE_EVENTS |
10018 | 22 | | | | |ALTER_TABLE |
10018 | 21 | | | | |CREATE_TABLE |
10018 | 23 | | | | |DROP_TABLE |
10017 | 10019 | | | |DDL_VIEW_EVENTS |
10019 | 42 | | | | |ALTER_VIEW |
10019 | 41 | | | | |CREATE_VIEW |
10019 | 43 | | | | |DROP_VIEW |
10016 | 10025 | | |DDL_TRIGGER_EVENTS |
10025 | 72 | | | |ALTER_TRIGGER |
10025 | 71 | | | |CREATE_TRIGGER |
10025 | 73 | | | |DROP_TRIGGER |
10016 | 10028 | | |DDL_TYPE_EVENTS |
10028 | 91 | | | |CREATE_TYPE |
10028 | 93 | | | |DROP_TYPE |
10016 | 10048 | | |DDL_XML_SCHEMA_COLLECTION_EVENTS |
10048 | 178 | | | |ALTER_XML_SCHEMA_COLLECTION |
10048 | 177 | | | |CREATE_XML_SCHEMA_COLLECTION |
10048 | 179 | | | |DROP_XML_SCHEMA_COLLECTION |
10016 | 241 | | |重 命名 |
10001 | 10002 | |DDL_SERVER_LEVEL_EVENTS |
10002 | 214 | | |ALTER_INSTANCE |
10002 | 10071 | | |DDL_AVAILABILITY_GROUP_EVENTS |
10071 | 307 | | | |ALTER_AVAILABILITY_GROUP |
10071 | 306 | | | |CREATE_AVAILABILITY_GROUP |
10071 | 308 | | | |DROP_AVAILABILITY_GROUP |
10002 | 10004 | | |DDL_DATABASE_EVENTS |
10004 | 202 | | | |ALTER_DATABASE |
10004 | 201 | | | |CREATE_DATABASE |
10004 | 203 | | | |DROP_DATABASE |
10002 | 10003 | | |DDL_ENDPOINT_EVENTS |
10003 | 182 | | | |ALTER_ENDPOINT |
10003 | 181 | | | |CREATE_ENDPOINT |
10003 | 183 | | | |DROP_ENDPOINT |
10002 | 10057 | | |DDL_EVENT_SESSION_EVENTS |
10057 | 265 | | | |ALTER_EVENT_SESSION |
10057 | 264 | | | |CREATE_EVENT_SESSION |
10057 | 266 | | | |DROP_EVENT_SESSION |
10002 | 10011 | | |DDL_EXTENDED_PROCEDURE_EVENTS |
10011 | 221 | | | |CREATE_EXTENDED_PROCEDURE |
10011 | 232 | | | |DROP_EXTENDED_PROCEDURE |
10002 | 10012 | | |DDL_LINKED_SERVER_EVENTS |
10012 | 263 | | | |ALTER_LINKED_SERVER |
10012 | 225 | | | |CREATE_LINKED_SERVER |
10012 | 10013 | | | |DDL_LINKED_SERVER_LOGIN_EVENTS |
10013 | 226 | | | | |CREATE_LINKED_SERVER_LOGIN |
10013 | 236 | | | | |DROP_LINKED_SERVER_LOGIN |
10012 | 262 | | | |DROP_LINKED_SERVER |
10002 | 10014 | | |DDL_MESSAGE_EVENTS |
10014 | 215 | | | |ALTER_MESSAGE |
10014 | 227 | | | |CREATE_MESSAGE |
10014 | 237 | | | |DROP_MESSAGE |
10002 | 10015 | | |DDL_REMOTE_SERVER_EVENTS |
10015 | 217 | | | |ALTER_REMOTE_SERVER |
10015 | 230 | | | |CREATE_REMOTE_SERVER |
10015 | 240 | | | |DROP_REMOTE_SERVER |
10002 | 10058 | | |DDL_RESOURCE_GOVERNOR_EVENTS |
10058 | 273 | | | |ALTER_RESOURCE_GOVERNOR_CONFIG |
10058 | 10059 | | | |DDL_RESOURCE_POOL |
10059 | 268 | | | | |ALTER_RESOURCE_POOL |
10059 | 267 | | | | |CREATE_RESOURCE_POOL |
10059 | 269 | | | | |DROP_RESOURCE_POOL |
10058 | 10060 | | | |DDL_WORKLOAD_GROUP |
10060 | 271 | | | | |ALTER_WORKLOAD_GROUP |
10060 | 270 | | | | |CREATE_WORKLOAD_GROUP |
10060 | 272 | | | | |DROP_WORKLOAD_GROUP |
10002 | 10005 | | |DDL_SERVER_SECURITY_EVENTS |
10005 | 209 | | | |ADD_SERVER_ROLE_MEMBER |
10005 | 301 | | | |ALTER_SERVER_ROLE |
10005 | 300 | | | |CREATE_SERVER_ROLE |
10005 | 10008 | | | |DDL_AUTHORIZATION_SERVER_EVENTS |
10008 | 204 | | | | |ALTER_AUTHORIZATION_SERVER |
10005 | 10009 | | | |DDL_CREDENTIAL_EVENTS |
10009 | 260 | | | | |ALTER_CREDENTIAL |
10009 | 259 | | | | |CREATE_CREDENTIAL |
10009 | 261 | | | | |DROP_CREDENTIAL |
10005 | 10061 | | | |DDL_CRYPTOGRAPHIC_PROVIDER_EVENTS |
10061 | 276 | | | | |ALTER_CRYPTOGRAPHIC_PROVIDER |
10061 | 275 | | | | |CREATE_CRYPTOGRAPHIC_PROVIDER |
10061 | 277 | | | | |DROP_CRYPTOGRAPHIC_PROVIDER |
10005 | 10007 | | | |DDL_GDR_SERVER_EVENTS |
10007 | 168 | | | | |DENY_SERVER |
10007 | 167 | | | | |GRANT_SERVER |
10007 | 169 | | | | |REVOKE_SERVER |
10005 | 10006 | | | |DDL_LOGIN_EVENTS |
10006 | 145 | | | | |ALTER_LOGIN |
10006 | 144 | | | | |CREATE_LOGIN |
10006 | 146 | | | | |DROP_LOGIN |
10005 | 10064 | | | |DDL_SERVER_AUDIT_EVENTS |
10064 | 285 | | | | |ALTER_SERVER_AUDIT |
10064 | 284 | | | | |CREATE_SERVER_AUDIT |
10064 | 286 | | | | |DROP_SERVER_AUDIT |
10005 | 10065 | | | |DDL_SERVER_AUDIT_SPECIFICATION_EVENTS |
10065 | 288 | | | | |ALTER_SERVER_AUDIT_SPECIFICATION |
10065 | 287 | | | | |CREATE_SERVER_AUDIT_SPECIFICATION |
10065 | 289 | | | | |DROP_SERVER_AUDIT_SPECIFICATION |
10005 | 10010 | | | |DDL_SERVICE_MASTER_KEY_EVENTS |
10010 | 251 | | | | |ALTER_SERVICE_MASTER_KEY |
10005 | 302 | | | |DROP_SERVER_ROLE |
10005 | 210 | | | |DROP_SERVER_ROLE_MEMBER |
通过运行以下代码示例可以创建上述数据。
WITH DirectReports(name, parent_type, type, level, sort) AS
(
SELECT CONVERT(varchar(255),type_name), parent_type, type, 1, CONVERT(varchar(255),type_name)
FROM sys.trigger_event_types
WHERE parent_type IS NULL
UNION ALL
SELECT CONVERT(varchar(255), REPLICATE ('| ' , level) + e.type_name),
e.parent_type, e.type, level + 1,
CONVERT (varchar(255), RTRIM(sort) + '| ' + e.type_name)
FROM sys.trigger_event_types AS e
INNER JOIN DirectReports AS d
ON e.parent_type = d.type
)
SELECT parent_type, type, name
FROM DirectReports
ORDER BY sort;