下表列出可用來引發 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 | 修改_程序集 | 卸除組件 |
| CREATE_ASYMMETRIC_KEY | ALTER_ASYMMETRIC_KEY | DROP_ASYMMETRIC_KEY |
| 更改授權 | ALTER_AUTHORIZATION_DATABASE(當指定 ON DATABASE 時,適用於 ALTER AUTHORIZATION 語句和sp_changedbowner。) | |
| 建立中介者優先權 | 創建經紀優先級 | CREATE_BROKER_PRIORITY |
| 建立憑證 | 修改證書 | 刪除憑證 |
| 建立合約 | 放棄合約 | |
| CREATE_CREDENTIAL | ALTER_CREDENTIAL | 刪除憑證 |
| 授予資料庫 | DENY_DATABASE | REVOKE_DATABASE |
| CREATE_DATABASE_AUDIT_SPECIFICATION | ALTER_DATABASE_AUDIT_SPEFICIATION | DENY_DATABASE_AUDIT_SPEFICIATION |
| 資料庫加密金鑰建立 (CREATE_DATABASE_ENCRYPTION_KEY) | ALTER_DATABASE_ENCRYPTION_KEY | 刪除數據庫加密密鑰 |
| 建立預設 | DROP_DEFAULT | |
| BIND_DEFAULT (適用於 sp_bindefault. | UNBIND_DEFAULT (適用於 sp_unbindefault。) | |
| 創建事件通知 | 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、停止或重建時sp_fulltextcatalog,以及指定啟用時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,以及任何動作(sp_fulltext_table除外)當指定建立或刪除之外使用sp_fulltext_column。) | DROP_FULLTEXT_INDEX (適用於指定 drop 時 DROP FULLTEXT INDEX 語句和sp_fulltexttable。 |
| 創建全文停止詞列表 | ALTER_FULLTEXT_STOPLIST(修改全文停用詞清單) | DROP_FULLTEXT_STOPLIST |
| 建立函數 | ALTER_FUNCTION | DROP_FUNCTION |
| 建立索引 | ALTER_INDEX (適用於 ALTER INDEX 語句和 sp_indexoption。) | DROP_INDEX(刪除索引) |
| 建立主金鑰 | 更改主密鑰 | 刪除主要密鑰 |
| CREATE_MESSAGE_TYPE | ALTER_MESSAGE_TYPE | 丟棄訊息類型 |
| CREATE_PARTITION_FUNCTION | 更改分割函式 | 刪除分割函數 |
| 建立分割方案 | 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 |
| 建立佇列 | 修改佇列 | 丟棄隊列 |
| 建立遠端服務綁定 | ALTER_REMOTE_SERVICE_BINDING(修改遠端服務綁定) | 移除遠端服務綁定 |
| 建立空間索引 | ||
| RENAME(適用於sp_rename) | ||
| CREATE_ROLE (適用於 CREATE ROLE 語句、 sp_addrole和 sp_addgroup。 | ALTER_ROLE | DROP_ROLE (適用於DROP ROLE 語句、 sp_droprole和 sp_dropgroup。 |
| 新增角色成員 | 移除角色成員 | |
| 創建路徑 | ALTER_ROUTE | DROP_ROUTE |
| CREATE_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 |
| 創建搜索屬性列表 | 搜尋屬性列表修改 | DROP_SEARCH_PROPERTY_LIST (刪除搜尋屬性清單) |
| 建立序列事件 | 建立序列事件 | 創建序列事件 |
| 建立伺服器角色 | 變更伺服器角色 | 刪除伺服器角色 |
| CREATE_SERVICE | ALTER_SERVICE | DROP_SERVICE |
| ALTER_SERVICE_MASTER_KEY | BACKUP_SERVICE_MASTER_KEY | RESTORE_SERVICE_MASTER_KEY |
| ADD_SIGNATURE (適用於非架構範圍物件的簽章作業;資料庫、元件、觸發程式) | 刪除簽名 | |
| ADD_SIGNATURE_SCHEMA_OBJECT (適用於架構範圍物件;預存程式、函式) | 刪除簽名架構物件 | |
| 實作空間指數 | ALTER_INDEX可用於空間索引。 | DROP_INDEX可用於空間索引。 |
| CREATE_STATISTICS | 刪除統計資料 (DROP_STATISTICS) | UPDATE_STATISTICS |
| CREATE_SYMMETRIC_KEY | ALTER_SYMMETRIC_KEY | DROP_SYMMETRIC_KEY |
| 建立同義詞 | DROP_SYNONYM | |
| 創建表格 | ALTER_TABLE(適用於 ALTER TABLE 語句和 sp_tableoption。) | 刪除資料表 |
| 建立觸發器 | ALTER_TRIGGER(適用於 ALTER TRIGGER 語句和 sp_settriggerorder)。 | 刪除觸發器 |
| 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。 |
| 建立檢視 | ALTER_VIEW | 刪除視圖 (DROP_VIEW) |
| CREATE_XML_INDEX | ALTER_INDEX可用於 XML 索引。 | DROP_INDEX可用於 XML 索引。 |
| CREATE_XML_SCHEMA_COLLECTION | ALTER_XML_SCHEMA_COLLECTION(變更 XML 結構描述集合) | XML 架構集合刪除 |
具有伺服器範圍的 DDL 語句
您可以建立 DDL 觸發程式或事件通知,以在伺服器實例中任意位置發生下列事件時引發。
| 修改授權伺服器 | 修改伺服器配置 | ALTER_INSTANCE(適用於指定本地伺服器實例時的 sp_configure 和 sp_addserver)。 |
| CREATE_AVAILABILITY_GROUP | ALTER_AVAILABILITY_GROUP | 刪除可用性組 (DROP_AVAILABILITY_GROUP) |
| 建立憑證 | 更改_憑證 | 刪除憑證 |
| CREATE_CRYPTOGRAPHIC_PROVIDER | 更改加密提供者 | 刪除密碼提供程式 |
| 創建資料庫 | 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。) | |
| 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 |
| 新增伺服器角色成員 | 刪除伺服器角色成員 | |
| 建立伺服器稽核 | ALTER_SERVER_AUDIT | 刪除伺服器稽核 |
| CREATE_SERVER_AUDIT_SPECIFICATION | ALTER_SERVER_AUDIT_SPECIFICATION | DROP_SERVER_AUDIT_SPECIFICATION |
| CREATE_WORKLOAD_GROUP | 創建負載工作組 | 建立負載群組 |