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_addrole 和 sp_addgroup)。 |
ALTER_ROLE |
DROP_ROLE(适用于 DROP ROLE 语句、sp_droprole 和 sp_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_addrole、sp_adduser、sp_addgroup 和 sp_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_adduser 和 sp_grantdbaccess)。 |
ALTER_USER(应用于 ALTER USER 语句和 sp_change_users_login。) |
DROP_USER(适用于 DROP USER 语句、sp_dropuser 和 sp_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_configure 和 sp_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_addlogin、sp_grantlogin、xp_grantlogin 和 sp_denylogin)。 |
ALTER_LOGIN(当指定 Auto_Fix 时,还适用于 ALTER LOGIN 语句、sp_defaultdb、sp_defaultlanguage、sp_password 和 sp_change_users_login)。 |
DROP_LOGIN(适用于 DROP LOGIN 语句、sp_droplogin、sp_revokelogin 和 xp_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 |
|