一尘不染

SQL Server中数据库级别触发器和服务器级别触发器之间的区别

sql

谁能告诉我SQL Server中数据库级别触发器和服务器级别触发器之间的区别吗?

提前致谢。


阅读 131

收藏
2021-05-23

共1个答案

一尘不染

SQL Server2005中引入了可以被设置成火你所选择的DDL事件,比如DML触发器CREATE_TABLEALTER_TABLEDROP_TABLEALTER_DATABASECREATE_LOGIN等。

DDL触发器可以在2个范围内设置:

  1. 服务器范围 :使用服务器范围创建的触发器必须以服务器DDL事件为目标,例如CREATE_DATABASE或CREATE_LOGIN
  2. 数据库范围 :使用数据库范围创建的触发器必须针对数据库级别的事件,例如CREATE_TABLE或ALTER_PROC。

此处,请参阅msdn上的SQL
Server DDL触发事件的完整列表(包括它们的范围)。

DDL触发器的语法:

CREATE TRIGGER [TriggerName]
ON [Scope (Server|Database)]
FOR [EventName...],
AS
-- code for your trigger response here
2021-05-23