如何在读取表时激活触发器?

时间:2017-11-12 05:10:03

标签: sql-server

在SQL Server 2012上。有没有办法让一个触发器在读取一个表/行时被激活,而不是被修改或删除?

2 个答案:

答案 0 :(得分:2)

您无法创建此类触发器。可以根据列出的事件创建three种类型的触发器:

  • DML

      

    当用户尝试通过数据修改数据时执行DML触发器   操纵语言(DML)事件。 DML事件是INSERT,UPDATE或   删除表或视图上的语句。

  • DDL

      

    DDL触发器执行以响应各种数据定义   语言(DDL)事件。

  • 登录触发器

      

    在建立用户会话时引发的LOGON事件。

结束触发器列出的事件如下:

  • DML

      

    INSERT,UPDATE或DELETE语句到表或视图

  • DDL

      

    CREATE,ALTER,DROP,GRANT,DENY,REVOKE或UPDATE语句

  • 登录触发器

      

    登录事件

您可以查看所有DDL事件here

答案 1 :(得分:2)

如果需要知道访问该表的人,可以使用

1.SQLSERVER审计
2.延长活动

我会使用扩展事件,因为它重量轻,并且还提供了将日志存储到文件以供以后分析的选项。如果您正在寻找审核,那么您还可以查看以下链接:https://blogs.msdn.microsoft.com/sreekarm/2009/01/05/auditing-select-statements-in-sql-server-2008/

相关问题