DDL 事件

下表列出了可用于激发 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(适用于 sp_changedbowner;当指定 ON DATABASE 时,还适用于 ALTER AUTHORIZATION 语句。)

 

CREATE_CERTIFICATE

ALTER_CERTIFICATE

DROP_CERTIFICATE

CREATE_CONTRACT

DROP_CONTRACT

 

ADD_COUNTER_SIGNATURE

DROP_COUNTER_SIGNATURE

 

CREATE_CREDENTIAL

ALTER_CREDENTIAL

DROP_CREDENTIAL

GRANT_DATABASE

DENY_DATABASE

REVOKE_DATABASE

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 FULLTEXT CATALOG 语句;当指定 create 时,还适用于 sp_fulltextcatalog)。

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

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

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

ALTER_FULLTEXT_INDEX(适用于 ALTER FULLTEXT INDEX 语句;当指定 start_full、start_incremental 或 stop 时,适用于 sp_fulltextcatalog;当指定 create 或 drop 以外的任何其他操作时,适用于 sp_fulltext_table;此外还适用于 sp_fulltext_column)。

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

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_SERVICE

ALTER_SERVICE

DROP_SERVICE

ALTER_SERVICE_MASTER_KEY

BACKUP_SERVICE_MASTER_KEY

RESTORE_SERVICE_MASTER_KEY

ADD_SIGNATURE

DROP_SIGNATURE

 

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

 

 

CREATE_DATABASE

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

DROP_DATABASE

CREATE_ENDPOINT

ALTER_ENDPOINT

DROP_ENDPOINT

CREATE_EXTENDED_PROCEDURE(适用于 sp_addextendedproc)。

DROP_EXTENDED_PROCEDURE(适用于 sp_dropextendedproc)。

 

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

 

 

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 时,还适用于 ALTER LOGIN 语句、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)。

GRANT_SERVER

DENY_SERVER

REVOKE_SERVER

ADD_SERVER_ROLE_MEMBER

DROP_SERVER_ROLE_MEMBER