3

数据库审计跟踪捕获用户上次修改、修改日期和创建日期。

有几种可能的实现方式:

  • SQL Server 触发器
  • 将 UserModified、ModifiedDate、CreatedDate 列添加到数据库,并在存储过程或 Insert、Update 语句中相应地包含逻辑。

如果您在答案中包含实现(或链接),那就太好了。

4

4 回答 4

6

根据您正在执行的操作,您可能希望将审计从数据层移到数据访问层。它给你更多的控制权。

我在这里问了一个与 NHibernate 和 SqlServer 类似的问题。

于 2008-09-13T22:14:19.840 回答
1

我完全支持@IainMH(并投票支持他)。

您希望将它放在您的 DAL 中,并理想地与某种方面/拦截器/代码注入机制相关联。

于 2008-09-13T23:30:02.730 回答
1

+2 用于在 DAL 中实施何时/如何进行审计。

至于审计条目本身应该放在哪里,这取决于它的可见性。如果用户可以查看单独的“审计跟踪报告”,我会创建一个单独的表,但如果您想内联显示最后修改类型的审计,请标记现有表。

于 2008-09-13T23:41:31.940 回答
0

这是我用来审计表的实现: Pop Rivett 的 SQL Server FAQ No.5: Pop on the Audit Trail

于 2008-09-16T13:04:47.873 回答