下表列出了可用于运行 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下列出的事件仅在服务器级别执行。
父类型 | 类型 | 姓名 |
Null | 296 | 更改服务器配置 |
Null | 10001 | DDL_事件 |
10001 | 10016 | DDL_数据库级事件 |
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 | 创建应用程序角色 |
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 | | | | 数据定义语言_证书事件 |
10030 | 198 | | | | |ALTER_CERTIFICATE |
10030 | 197 | | | | |创建证书 |
10030 | 199 | | | | | 删除证书 |
10029 | 10039 | | | |DDL_CRYPTO_SIGNATURE_EVENTS |
10039 | 257 | 添加签名 |
10039 | 255 | | | | |ADD_SIGNATURE_SCHEMA_OBJECT |
10039 | 258 | | | | |删除签名 |
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 | 数据定义语言_数据库加密密钥事件 |
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 | | | | |更改主密钥 |
10040 | 252 | | | | |CREATE_MASTER_KEY |
10040 | 254 | 丢弃主密钥 |
10029 | 10032 | | | |DDL_ROLE_EVENTS |
10032 | 207 | | | | | 添加角色成员 |
10032 | 135 | | | | |ALTER_ROLE |
10032 | 134 | | | | | CREATE_ROLE |
10032 | 136 | | | | |DROP_ROLE |
10032 | 208 | | | | |删除角色成员 |
10029 | 10034 | | | |DDL_SCHEMA_EVENTS |
10034 | 142 | | | | | 更改架构 |
10034 | 141 | | | | |CREATE_SCHEMA |
10034 | 143 | | | | | 删除模式 (DROP_SCHEMA) |
10029 | 10037 | | | | DDL_SYMMETRIC_KEY_EVENTS |
10037 | 245 | | | | |ALTER_SYMMETRIC_KEY |
10037 | 244 | 创建对称密钥 |
10037 | 246 | | | | |DROP_SYMMETRIC_KEY |
10029 | 10031 | | | | DDL_USER_EVENTS |
10031 | 132 | | | | |ALTER_USER |
10031 | 131 | | | | |CREATE_USER |
10031 | 133 | | | | | 删除用户 |
10016 | 10052 | | |DDL_DEFAULT_EVENTS |
10052 | 218 | | | |BIND_DEFAULT |
10052 | 220 | | | |CREATE_DEFAULT |
10052 | 231 | | | |删除默认值 |
10052 | 242 | 解除绑定_默认设置 |
10016 | 10026 | | | DDL_EVENT_NOTIFICATION_EVENTS |
10026 | 74 | 创建事件通知 |
10026 | 76 | | | | 删除事件通知 |
10016 | 10053 | | | 数据定义语言扩展属性事件 |
10053 | 211 | | | |ALTER_EXTENDED_PROPERTY |
10053 | 222 | | | | CREATE_EXTENDED_PROPERTY |
10053 | 233 | | | |DROP_EXTENDED_PROPERTY |
10016 | 10054 | | |DDL全文目录事件 |
10054 | 212 | | | |ALTER_FULLTEXT_CATALOG |
10054 | 223 | | | |CREATE_FULLTEXT_CATALOG |
10054 | 234 | | | |DROP_FULLTEXT_CATALOG |
10016 | 10,067 | | |DDL_FULLTEXT_STOPLIST_EVENTS |
10,067 | 294 | | | |ALTER_FULLTEXT_STOPLIST |
10,067 | 293 | | | |CREATE_FULLTEXT_STOPLIST |
10,067 | 295 | | | |DROP_FULLTEXT_STOPLIST |
10016 | 10023 | | |DDL_FUNCTION_EVENTS |
10023 | 62 | | | | 修改函数 |
10023 | 61 | | | |CREATE_FUNCTION |
10023 | 63 | | | | 删除函数 (DROP_FUNCTION) |
10016 | 10049 | DDL分区事件 |
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 | | | | | 创建分区方案 |
10051 | 196 | | | | |DROP_PARTITION_SCHEME |
10016 | 10055 | | |DDL_PLAN_GUIDE_EVENTS |
10055 | 216 | | | |ALTER_PLAN_GUIDE |
10055 | 228 | | | |CREATE_PLAN_GUIDE |
10055 | 238 | | | |删除计划指南 |
10016 | 10024 | | |DDL_PROCEDURE_EVENTS |
10024 | 52 | | | |ALTER_PROCEDURE |
10024 | 51 | | | |CREATE_PROCEDURE |
10024 | 53 | | | |DROP_PROCEDURE |
10016 | 10056 | DDL规则事件 (DDL_RULE_EVENTS) |
10056 | 219 | 绑定规则 |
10056 | 229 | 创建规则 |
10056 | 239 | | | |丢弃规则 |
10056 | 243 | | | |UNBIND_RULE |
10016 | 10069 | | |DDL_SEARCH_PROPERTY_LIST_EVENTS |
10069 | 298 | | | |ALTER_SEARCH_PROPERTY_LIST |
10069 | 297 | | | | 创建搜索属性列表 |
10069 | 299 | | | |DROP_SEARCH_PROPERTY_LIST |
10016 | 10070 | | |DDL_SEQUENCE_EVENTS |
10070 | 304 | | | |ALTER_SEQUENCE |
10070 | 303 | | | |CREATE_SEQUENCE |
10070 | 305 | 删除序列 |
10016 | 10041 | | |DDL_SSB_EVENTS |
10041 | 10063 | | | |DDL_BROKER_PRIORITY_EVENTS |
10063 | 282 | | | | |ALTER_BROKER_PRIORITY |
10063 | 281 | | | | |CREATE_BROKER_PRIORITY |
10063 | 283 | | | | |删除代理优先级 |
10041 | 10043 | | | |DDL_CONTRACT_EVENTS |
10043 | 154 | 创建合同 |
10043 | 156 | 抛弃合同 |
10041 | 10042 | | | |DDL_MESSAGE_TYPE_EVENTS |
10042 | 152 | | | | |ALTER_MESSAGE_TYPE |
10042 | 151 | 创建_消息_类型 |
10042 | 153 | | | | | 删除消息类型 |
10041 | 10044 | | | |DDL_QUEUE_EVENTS |
10044 | 158 | 更改队列 |
10044 | 157 | | | | |CREATE_QUEUE |
10044 | 159 | | | | | 删除队列 |
10041 | 10047 | If context allows or necessitates a translation, it could be translated as "DDL远程服务绑定事件". |
10047 | 175 | | | | |修改远程服务绑定 |
10047 | 174 | | | | |创建远程服务绑定 |
10047 | 176 | | | | |删除远程服务绑定 |
10041 | 10046 | | | |DDL_ROUTE_EVENTS |
10046 | 165 | | | | |改变路线 |
10046 | 164 | | | | | CREATE_ROUTE |
10046 | 166 | | | | |DROP_ROUTE |
10041 | 10045 | | | |DDL_SERVICE_EVENTS |
10045 | 162 | | | | | ALTER_SERVICE |
10045 | 161 | | | | |创建服务 |
10045 | 163 | | | | |DROP_SERVICE |
10016 | 10022 | | |DDL_SYNONYM_EVENTS |
10022 | 34 | 创建同义词 |
10022 | 36 | | | | DROP_SYNONYM |
10016 | 10017 | | |DDL_TABLE_VIEW_EVENTS |
10017 | 10020 | | | |DDL_INDEX_EVENTS |
10020 | 213 | | | | | ALTER_FULLTEXT_INDEX (用于更改全文索引) |
10020 | 二十五 | | | | |ALTER_INDEX |
10020 | 224 | | | | |CREATE_FULLTEXT_INDEX |
10020 | 24 | | | | | 创建索引 |
10020 | 274 | | | | | 创建_空间_索引 |
10020 | 206 | | | | |CREATE_XML_INDEX |
10020 | 235 | | | | |DROP_FULLTEXT_INDEX |
10020 | 26 | | | | |DROP_INDEX |
10017 | 10021 | | | |DDL_STATISTICS_EVENTS |
10021 | 二十七 | | | | |CREATE_STATISTICS |
10021 | 二十九 | | | | |DROP_STATISTICS |
10021 | 28 | | | | |更新统计信息 |
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 | 删除视图 |
10016 | 10025 | | | DDL触发事件 |
10025 | 72 | | | |ALTER_TRIGGER |
10025 | 71 | | | | 创建触发器 |
10025 | 73 | | | | 删除触发器 |
10016 | 10028 | 数据定义语言类型事件 |
10028 | 91 | | | | 创建类型 |
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 | 删除_XML_架构_集合 |
10016 | 241 | | |重命名 |
10001 | 10002 | DDL_服务器级事件 |
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 | 修改_数据库 |
10004 | 201 | | | | 创建数据库 |
10004 | 203 | | | |DROP_DATABASE(删除数据库) |
10002 | 10003 | | | DDL端点事件 |
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 | | | |创建事件会话 |
10057 | 266 | 丢弃事件会话 |
10002 | 10011 | | |DDL_EXTENDED_PROCEDURE_EVENTS |
10011 | 221 | | | |CREATE_EXTENDED_PROCEDURE |
10011 | 232 | | | |删除扩展过程 |
10002 | 10012 | DDL链接服务器事件 |
10012 | 263 | | | |ALTER_LINKED_SERVER |
10012 | 225 | | | |CREATE_LINKED_SERVER |
10012 | 10013 | | | | DDL_链接服务器登录事件 |
10013 | 226 | 创建链接服务器登录 |
10013 | 236 | | | | | 删除链接服务器登录 |
10012 | 262 | 删除_链接_服务器 |
10002 | 10014 | | | DDL_信息_事件 |
10014 | 215 | 修改信息 |
10014 | 227 | 创建消息 |
10014 | 237 | | | | 删除消息 |
10002 | 10015 | | |DDL_REMOTE_SERVER_EVENTS |
10015 | 217 | | | |修改远程服务器ALTER_REMOTE_SERVER |
10015 | 230 | | | | 创建远程服务器 |
10015 | 240 | | | |DROP_REMOTE_SERVER |
10002 | 10058 | DDL资源管理器事件 |
10058 | 273 | | | |ALTER_RESOURCE_GOVERNOR_CONFIG |
10058 | 10,059 | | | |DDL_RESOURCE_POOL |
10,059 | 268 | | | | |ALTER_RESOURCE_POOL |
10,059 | 267 | | | | |CREATE_RESOURCE_POOL |
10,059 | 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_服务器安全事件 |
10005 | 209 | | | |ADD_SERVER_ROLE_MEMBER |
10005 | 301 | | | |ALTER_SERVER_ROLE |
10005 | 300 | | | |CREATE_SERVER_ROLE |
10005 | 10008 | (No changes needed, as it appears to be a technical term that should remain in English. Thus, "DDL_AUTHORIZATION_SERVER_EVENTS" is preserved as is in the translation.) |
10008 | 204 | | | | |ALTER_AUTHORIZATION_SERVER |
10005 | 10009 | | | |DDL_CREDENTIAL_EVENTS |
10009 | 260 | | | | |ALTER_CREDENTIAL |
10009 | 259 | 创建凭证 |
10009 | 261 | | | | | 撤销凭证 |
10005 | 10061 | | | |DDL_CRYPTOGRAPHIC_PROVIDER_EVENTS |
10061 | 276 | | | | |修改_加密服务提供者 |
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 | | | | |创建登录 |
10006 | 146 | | | | | 删除登录 |
10005 | 10064 | | | |DDL_SERVER_AUDIT_EVENTS |
10064 | 285 | | | | |ALTER_SERVER_AUDIT |
10064 | 284 | 创建服务器审核 |
10064 | 286 | | | | |DROP_SERVER_AUDIT |
10005 | 10065 | DDL_SERVER_AUDIT_SPECIFICATION_EVENTS (保持不翻译,用于技术文档或软件环境中,以保持一致性) |
10065 | 288 | | | | |ALTER_SERVER_AUDIT_SPECIFICATION |
10065 | 287 | There are no changes needed, so the translation remains as: | | | |CREATE_SERVER_AUDIT_SPECIFICATION |
10065 | 289 | | | | | DROP_SERVER_AUDIT_SPECIFICATION |
10005 | 10010 | | | |DDL_SERVICE_MASTER_KEY_EVENTS |
10010 | 251 | 更改服务主密钥 |
10005 | 302 | | | |DROP_SERVER_ROLE |
10005 | 210 | 删除服务器角色成员 |
可以通过运行以下代码示例来创建上述数据。
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;