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

时间:2016-02-02 06:42:52

标签: sql sql-server

有人可以告诉我SQL Server中数据库级触发器和服务器级触发器之间的区别吗?

提前致谢。

2 个答案:

答案 0 :(得分:2)

SQL Server 2005引入了DML触发器,可以设置为触发所选的DDL事件,例如CREATE_TABLEALTER_TABLEDROP_TABLEALTER_DATABASE,{{1}等等。

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

  1. 服务器范围:使用服务器范围创建的触发器必须以服务器DDL事件为目标,例如CREATE_DATABASE或CREATE_LOGIN
  2. 数据库范围:使用数据库作用域创建的触发器必须以数据库级别事件为目标,例如CREATE_TABLE或ALTER_PROC。
  3. 在msdn here上查看SQL Server DDL触发事件的完整列表(包括其范围)。

    DDL触发器的语法:

    CREATE_LOGIN

答案 1 :(得分:0)

数据库触发器:数据库触发器已在表格上工作,如插入,更新和删除记录。

服务器触发器:服务器触发器一直在数据库上工作,如drop table和alter table。这对安全级别很重要。如果单个用户访问数据库应该不重要。但多用户访问数据库一直很重要。哪个用户可以在数据库上工作。

参考此链接

http://blog.sqlauthority.com/2007/07/24/sql-server-2005-server-and-database-level-ddl-triggers-examples-and-explanation/