sql-server - 无论如何要为 "SELECT"语句创建 SQL Server DDL 触发器吗?

标签 sql-server sql-server-2005 tsql triggers ddl

我正在处理一些敏感的会计表,我想审核在表上执行的任何 SELECT 语句或与其关联的任何 View 。

我没有找到任何DDL Events与 SELECT 语句有关的 BOL(在线图书)。 DML 触发器仅适用于 INSERTUPDATEDELETE

是否可以通过 SELECT 语句记录谁访问表和 View ?

最佳答案

是的,可以通过创建 Event Notification 来实现上AUDIT_DATABASE_OBJECT_ACCESS_EVENT事件。不过,做这样的事情的成本将是巨大的。

使用audit infrastructure要好得多,或按照 gbn 的建议使用自定义访问包装器。

关于sql-server - 无论如何要为 "SELECT"语句创建 SQL Server DDL 触发器吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1515598/

相关文章:

sql - 将 SQL 格式化为一行

sql-server-2005 - SQL Server选择不同的最新值

sql - 遍历表并更新特定列

sql - 跨不同环境查询存储过程中的多个数据库的最佳方法是什么

用于打开存储过程并在 SQL Server 中读取它的 SQL 代码

sql-server - 插入 View ,而不是触发器、身份、多个表?

sql - 每组最接近的比赛?

c# - 解决两个 sql server 2005 db 之间同步时标识列主键冲突

sql-server - 优化删除大量外键引用的表

sql - Select 语句连接到另一个表,里面有 where 定义