3

我正在开发一个需要审核所有数据库事务的业务应用程序(主要出于法律目的)。

我浏览了网络并发现了 DoddleAudit ( http://www.codeplex.com/DoddleAudit ),它基本上增加了 Linq to SQL 跟踪更改的能力。就像人们在 Hibernate 中使用拦截器一样。

我关心的是可靠性问题。虽然 ORM 层上的审计日志可能会记录通过代码发生的所有事情,但如果有人手动对数据库或黑客等发出 SQL 语句,它不会记录任何更改。基本上我正在处理的信息是有点敏感。这就是让我相信触发器可能是最可靠的方法的原因。(?)

其他记录方式是通过代码或通过存储过程,这似乎有点笨拙和不可靠。所以我基本上只能使用触发器或 DoddleAudit 之类的东西。

我希望在选择之前得到一些意见。

4

2 回答 2

3

如果审计是出于法律目的,那么您必须通过经过认证的合规方法来进行。此类方法非常适用于通过审计减轻的特定威胁。您需要阅读审计(数据库引擎),并且很可能咨询专家,该专家可以为您提供围绕数据审计的各种法律框架的指导,具体到您的位置和域。

SQL Server 具有符合 C2 的审计模式,请参阅c2 审计模式选项,这是一种经过认证的兼容模式。Linq2sql 审计或自定义数据审计可能是工程上的辉煌壮举,但如果它们没有经过合规性认证(而且它们不是),它们就不会站稳脚跟。

于 2010-01-26T00:38:17.163 回答
1

如果您使用的是 SQL Server 2008(问题未指定),您是否查看过该版本中添加的支持?

http://msdn.microsoft.com/en-us/library/dd392015.aspx

于 2010-01-26T00:34:04.507 回答