DDL 事件组

适用于:SQL ServerAzure SQL 数据库Azure SQL 托管实例

下表列出了可用于运行 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 RENAME
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;  

另请参阅

事件通知
DDL 触发器
DDL 事件