我正在开发一个业务应用程序,要求对所有数据库事务进行审核(主要出于法律目的)。
我浏览了网络并发现了 DoddleAudit (http://www.codeplex.com/DoddleAudit http://www.codeplex.com/DoddleAudit)这基本上增加了 Linq to SQL 跟踪更改的能力。就像人们在 Hibernate 中使用拦截器一样。
我担心的是可靠性问题。虽然 ORM 层上的审核日志可能会记录通过代码发生的所有情况,但如果有人手动对数据库或黑客等发出 SQL 语句,它不会记录任何更改。基本上我正在处理的信息是有点敏感。这让我相信触发器可能是最可靠的方法。 (?)
其他记录方式是通过代码或通过存储过程,这看起来有点老套且不可靠。所以我基本上要么使用触发器,要么使用 DoddleAudit 之类的东西。
在选择之前,我希望能得到一些意见。
如果审核是为了legal那么您必须通过经过认证的合规方法来做到这一点。此类方法非常具体具体威胁通过审计可以得到缓解。你需要阅读审计(数据库引擎) http://msdn.microsoft.com/en-us/library/cc280526.aspx并且很可能咨询专家,他们可以为您提供有关数据审计的各种法律框架的指导,具体取决于您所在的位置和领域。
SQL Server 具有符合 C2 的审核模式,请参阅c2 审核模式选项 http://msdn.microsoft.com/en-us/library/ms187634.aspx,这是一个认证的合规模式。 Linq2sql 审计或自定义数据审计可能是工程上的辉煌成就,但如果它们没有经过合规性认证(而且它们也没有),那么它们就一滴水都没有了。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)