DB Audit Trail的最佳实现是什么?
时间:2020-03-05 18:52:51 来源:igfitidea点击:
数据库审核跟踪将捕获用户的上次修改日期,修改日期和创建日期。
有几种可能的实现:
- SQL Server触发器
- 将UserModified,ModifiedDate,CreatedDate列添加到数据库,并在存储过程或者Insert,Update语句中相应地包含逻辑。
如果我们在答案中包含实现(或者链接到),那将是很好的。
解决方案
回答
根据我们正在执行的操作,我们可能希望将审核从数据层移到数据访问层。它给我们更多的控制权。
我在这里问了一个类似的问题,关于NHibernate和SqlServer。
回答
我完全获得第二名@IainMH(并投票支持他)。
我们希望将其包含在DAL中,并理想地与某种方面/拦截器/代码注入机制相关联。
回答
+2用于在DAL中实施何时/如何进行审核。
至于审核条目本身应位于何处,取决于它如何显示。如果用户可以查看单独的"审计跟踪报告",我将做一个单独的表,但是如果我们想内联显示上次修改类型的审计,则可以标记现有表。
回答
这是我用来审计表的实现:
Pop Rivett的SQL Server常见问题解答5:在审计追踪中流行