DDL 事件

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

下表列出了可用于激发 DDL 触发器或事件通知的 DDL 事件。 注意,每个事件都对应于一个 Transact-SQL 语句或存储过程,并且语句语法修改为在关键字之间加入了一个下划线字符 (_)。

重要

执行类似 DDL 的操作的系统存储过程也可以激发 DDL 触发器和事件通知。 请测试你的 DDL 触发器和事件通知以确定它们是否响应运行的系统存储过程。 例如,CREATE TYPE 语句和 sp_addtype 存储过程都将激发针对 CREATE_TYPE 事件创建的 DDL 触发器或事件通知。

具有服务器或数据库作用域的 DDL 语句

可以创建 DDL 触发器或事件通知,以便在其中创建了它们的数据库发生以下事件(或服务器实例中的任何位置发生以下事件时)激发它们以做出响应。

CREATE_APPLICATION_ROLE(适用于 CREATE APPLICATION ROLE 语句和 sp_addapprole。如果创建了新架构,此事件也会触发 CREATE_SCHEMA 事件。)

ALTER_APPLICATION_ROLE(适用于 ALTER APPLICATION ROLE 语句和 sp_approlepassword)。

DROP_APPLICATION_ROLE(适用于 DROP APPLICATION ROLE 语句和 sp_dropapprole)。

CREATE_ASSEMBLY

ALTER_ASSEMBLY

DROP_ASSEMBLY

CREATE_ASYMMETRIC_KEY

ALTER_ASYMMETRIC_KEY

DROP_ASYMMETRIC_KEY

ALTER_AUTHORIZATION

ALTER_AUTHORIZATION_DATABASE(当指定 ON DATABASE 时,适用于 ALTER AUTHORIZATION 语句和 sp_changedbowner。)

CREATE_BROKER_PRIORITY

CREATE_BROKER_PRIORITY

CREATE_BROKER_PRIORITY

CREATE_CERTIFICATE

ALTER_CERTIFICATE

DROP_CERTIFICATE

CREATE_CONTRACT

DROP_CONTRACT

CREATE_CREDENTIAL

ALTER_CREDENTIAL

DROP_CREDENTIAL

GRANT_DATABASE

DENY_DATABASE

REVOKE_DATABASE

CREATE_DATABASE_AUDIT_SPECIFICATION

ALTER_DATABASE_AUDIT_SPECIFICATION

DROP_DATABASE_AUDIT_SPECIFICATION

CREATE_DATABASE_ENCRYPTION_KEY

ALTER_DATABASE_ENCRYPTION_KEY

DROP_DATABASE_ENCRYPTION_KEY

CREATE_DEFAULT

DROP_DEFAULT

BIND_DEFAULT(适用于 sp_bindefault。)

UNBIND_DEFAULT(适用于 sp_unbindefault。)

CREATE_EVENT_NOTIFICATION

DROP_EVENT_NOTIFICATION

CREATE_EXTENDED_PROPERTY(适用于 sp_addextendedproperty。)

ALTER_EXTENDED_PROPERTY(适用于 sp_updateextendedproperty。)

DROP_EXTENDED_PROPERTY(适用于 sp_dropextendedproperty。)

CREATE_FULLTEXT_CATALOG(当指定 create 时适用于 CREATE FULLTEXT CATALOG 语句和 sp_fulltextcatalog。)

ALTER_FULLTEXT_CATALOG(当指定 start_incremental、start_full、Stop 或 Rebuild 时,适用于 ALTER FULLTEXT CATALOG 语句 sp_fulltextcatalog,当指定 enable 时,适用于 sp_fulltext_database。)

DROP_FULLTEXT_CATALOG(当指定 drop 时,适用于 DROP FULLTEXT CATALOG 语句和 sp_fulltextcatalog。)

CREATE_FULLTEXT_INDEX(当指定 create 时,适用于 CREATE FULLTEXT INDEX 语句和 sp_fulltexttable。)

ALTER_FULLTEXT_INDEX(当指定 start_full、start_incremental 或 stop 时,适用于 ALTER FULLTEXT INDEX 语句和 sp_fulltextcatalog,当指定除了 createdrop 操作之外时,适用于 sp_fulltext_columnsp_fulltext_table。)

DROP_FULLTEXT_INDEX(当指定 drop 时,适用于 DROP FULLTEXT INDEX 语句和 sp_fulltexttable。)

CREATE_FULLTEXT_STOPLIST

ALTER_FULLTEXT_STOPLIST

DROP_FULLTEXT_STOPLIST

CREATE_FUNCTION

ALTER_FUNCTION

DROP_FUNCTION

CREATE_INDEX

ALTER_INDEX(适用于 ALTER INDEX 语句和 sp_indexoption。)

DROP_INDEX

CREATE_MASTER_KEY

ALTER_MASTER_KEY

DROP_MASTER_KEY

CREATE_MESSAGE_TYPE

ALTER_MESSAGE_TYPE

DROP_MESSAGE_TYPE

CREATE_PARTITION_FUNCTION

ALTER_PARTITION_FUNCTION

DROP_PARTITION_FUNCTION

CREATE_PARTITION_SCHEME

ALTER_PARTITION_SCHEME

DROP_PARTITION_SCHEME

CREATE_PLAN_GUIDE(适用于 sp_create_plan_guide。)

ALTER_PLAN_GUIDE(当指定 ENABLE、ENABLE ALL、DISABLE 或 DISABLE ALL 时适用于 sp_control_plan_guide 。)

DROP_PLAN_GUIDE(当指定 DROP 或 DROP ALL 时适用于 sp_control_plan_guide 。)

CREATE_PROCEDURE

ALTER_PROCEDURE(适用于 ALTER PROCEDURE 语句和 sp_procoption。)

DROP_PROCEDURE

CREATE_QUEUE

ALTER_QUEUE

DROP_QUEUE

CREATE_REMOTE_SERVICE_BINDING

ALTER_REMOTE_SERVICE_BINDING

DROP_REMOTE_SERVICE_BINDING

CREATE_SPATIAL_INDEX

RENAME(适用于 sp_rename

CREATE_ROLE(适用于 CREATE ROLE 语句、sp_addrolesp_addgroup。)

ALTER_ROLE

DROP_ROLE(适用于 DROP ROLE 语句、sp_droprolesp_dropgroup。)

ADD_ROLE_MEMBER

DROP_ROLE_MEMBER

CREATE_ROUTE

ALTER_ROUTE

DROP_ROUTE

CREATE_RULE

DROP_RULE

BIND_RULE(适用于 sp_bindrule。)

UNBIND_RULE(适用于 sp_unbindrule。)

CREATE_SCHEMA(适用于 CREATE SCHEMA 语句、sp_addrolesp_addusersp_addgroupsp_grantdbaccess。)

ALTER_SCHEMA(适用于 ALTER SCHEMA 语句和 sp_changeobjectowner)。

DROP_SCHEMA

CREATE_SEARCH_PROPERTY_LIST

ALTER_SEARCH_PROPERTY_LIST

DROP_SEARCH_PROPERTY_LIST

CREATE_SEQUENCE

ALTER_SEQUENCE

DROP_SEQUENCE

CREATE_SERVER_ROLE

ALTER_SERVER_ROLE

DROP_SERVER_ROLE

CREATE_SERVICE

ALTER_SERVICE

DROP_SERVICE

ALTER_SERVICE_MASTER_KEY

BACKUP_SERVICE_MASTER_KEY

RESTORE_SERVICE_MASTER_KEY

ADD_SIGNATURE(用于对非架构范围的对象的签名操作;数据库,程序集,触发器)

DROP_SIGNATURE

ADD_SIGNATURE_SCHEMA_OBJECT(用于架构范围的对象;存储过程,函数)

DROP_SIGNATURE_SCHEMA_OBJECT

CREATE_SPATIAL_INDEX

ALTER_INDEX 可用于空间索引。

DROP_INDEX 可用于空间索引。

CREATE_STATISTICS

DROP_STATISTICS

UPDATE_STATISTICS

CREATE_SYMMETRIC_KEY

ALTER_SYMMETRIC_KEY

DROP_SYMMETRIC_KEY

CREATE_SYNONYM

DROP_SYNONYM

CREATE_TABLE

ALTER_TABLE(适用于 ALTER TABLE 语句和 sp_tableoption。)

DROP_TABLE

CREATE_TRIGGER

ALTER_TRIGGER(适用于 ALTER TRIGGER 语句和 sp_settriggerorder。)

DROP_TRIGGER

CREATE_TYPE(适用于 CREATE TYPE 语句和 sp_addtype

DROP_TYPE(适用于 DROP TYPE 语句和 sp_droptype。)

CREATE_USER(适用于 CREATE USER 语句、sp_addusersp_grantdbaccess

ALTER_USER(应用于 ALTER USER 语句和 sp_change_users_login。)

DROP_USER(适用于 DROP USER 语句、sp_dropusersp_revokedbaccess。)

CREATE_VIEW

ALTER_VIEW

DROP_VIEW

CREATE_XML_INDEX

ALTER_INDEX 可用于 XML 索引。

DROP_INDEX 可用于 XML 索引。

CREATE_XML_SCHEMA_COLLECTION

ALTER_XML_SCHEMA_COLLECTION

DROP_XML_SCHEMA_COLLECTION

具有服务器作用域的 DDL 语句

可以创建当服务器实例中的任何位置发生以下事件时被激发以响应这些事件的 DDL 触发器或事件通知。

ALTER_AUTHORIZATION_SERVER

ALTER_SERVER_CONFIGURATION

ALTER_INSTANCE(当指定了本地服务器实例时,适用于 sp_configuresp_addserver 。)

CREATE_AVAILABILITY_GROUP

ALTER_AVAILABILITY_GROUP

DROP_AVAILABILITY_GROUP

CREATE_CREDENTIAL

ALTER_CREDENTIAL

DROP_CREDENTIAL

CREATE_CRYPTOGRAPHIC_PROVIDER

ALTER_CRYPTOGRAPHIC_PROVIDER

DROP_CRYPTOGRAPHIC_PROVIDER

CREATE_DATABASE

ALTER_DATABASE(适用于 ALTER DATABASE 语句和 sp_fulltext_database。)

DROP_DATABASE

CREATE_ENDPOINT

ALTER_ENDPOINT

DROP_ENDPOINT

CREATE_EVENT_SESSION

ALTER_EVENT_SESSION

DROP_EVENT_SESSION

CREATE_EXTENDED_PROCEDURE(适用于 sp_addextendedproc。)

DROP_EXTENDED_PROCEDURE(适用于 sp_dropextendedproc。)

CREATE_LINKED_SERVER(适用于 sp_addlinkedserver。)

ALTER_LINKED_SERVER(适用于 sp_serveroption。)

DROP_LINKED_SERVER(当指定了链接服务器时,适用于 sp_dropserver 。)

CREATE_LINKED_SERVER_LOGIN(适用于 sp_addlinkedsrvlogin。)

DROP_LINKED_SERVER_LOGIN(适用于 sp_droplinkedsrvlogin。)

CREATE_LOGIN(当使用必须隐式创建的不存在登录名时,适用于 CREATE LOGIN 语句、sp_addloginsp_grantloginxp_grantloginsp_denylogin。)

ALTER_LOGIN(当指定 Auto_Fix 时,适用于 sp_defaultdbsp_defaultlanguagesp_passwordsp_change_users_login。)

DROP_LOGIN(适用于 DROP LOGIN 语句、 sp_droploginsp_revokeloginxp_revokelogin

CREATE_MESSAGE(适用于 sp_addmessage。)

ALTER_MESSAGE(适用于 sp_altermessage。)

DROP_MESSAGE(适用于 sp_dropmessage。)

CREATE_REMOTE_SERVER(适用于 sp_addserver。)

ALTER_REMOTE_SERVER(适用于 sp_setnetname。)

DROP_REMOTE_SERVER(当指定了远程服务器时,适用于 sp_dropserver 。)

CREATE_RESOURCE_POOL

ALTER_RESOURCE_POOL

DROP_RESOURCE_POOL

GRANT_SERVER

DENY_SERVER

REVOKE_SERVER

ADD_SERVER_ROLE_MEMBER

DROP_SERVER_ROLE_MEMBER

CREATE_SERVER_AUDIT

ALTER_SERVER_AUDIT

DROP_SERVER_AUDIT

CREATE_SERVER_AUDIT_SPECIFICATION

ALTER_SERVER_AUDIT_SPECIFICATION

DROP_SERVER_AUDIT_SPECIFICATION

CREATE_WORKLOAD_GROUP

ALTER_WORKLOAD_GROUP

DROP_WORKLOAD_GROUP

另请参阅

DDL 触发器
事件通知
DDL 事件组