如何在数据库中维护数据日志?
我必须记录每行所做的每个更改.这意味着我不能允许DELETE和UPDATE执行.
我怎么能保留这样的日志?
人们在相当复杂的数据库中维护数据更改历史记录的成功策略是什么?我经常使用和开发的应用程序之一可以真正受益于更全面的跟踪记录随时间变化的方式.例如,现在记录可以具有多个时间戳和修改的用户字段,但是我们目前没有用于记录多个更改的方案,例如,如果回滚操作.在完美的世界中,可以在每次保存之后重建记录,等等.
关于DB的一些信息:
我在项目中使用NHibernate,我需要进行数据审计.我在codeproject上找到了这篇文章,讨论了IInterceptor接口.
您首选的审核数据方式是什么?你使用数据库触发器吗?你是否使用类似于文章中讨论的内容?
我正在寻找关于如何在C#中为我的对象实现审计跟踪的想法,对于当前项目,基本上我需要:
1.存储给定对象的旧值和新值.2.记录新对象的创建.3.删除旧物体.
是否有任何通用的方法来执行此操作,例如使用C#Generics,这样我就不必像创建,删除等(ORM对象)那样为基础对象的事件编写代码.事情就是如果有的话如果一个人正在使用一个注入审计跟踪的方法.Anybody有任何经验或他们遵循的任何方法.任何方式在面向方面(AOP)mannner中执行此操作.
请分享您的想法等.
我认为自己在应用程序设计方面相对精通,但我从未使用敏感数据.我一直想知道审计跟踪的最佳实践是什么以及应该如何实现它们.我现在不必这样做,但如果他们让我为他们做一些工作,那么能够自信地与医疗公司交谈会很高兴.
假设我们有一个"学校"数据库,"老师","班级","学生"都在多对多"成绩"表中进行了标准化.你会记录什么?'成绩表'上的每次插入/更新?只有更新(比如,一个孩子闯入并想要改变成绩,这应该发送红旗)?这完全取决于一个人想要的偏执吗?有最好的做法吗?
这是应该在数据库中完成的吗?(每个敏感SELECT上的一个触发器,它将一行插入到记录每个查询的'audit'表中?)应该记录什么?是否有自动构建到Oracle/DB2中的功能为您完成?这应该是应用程序端逻辑吗?
如果有人有任何关于如何处理敏感数据的正式文档/书籍(不完全是DoD"可信计算"规范,但有些内容如下:P),我会很感激.如果这个问题非常含糊,我很抱歉.我意识到这因应用程序而异.我只想听听您处理敏感数据的详细经验.
数据库审计跟踪捕获用户上次修改日期,修改日期和创建日期.
有几种可能的实现:
如果你在答案中包含实现(或链接)会很好.
我正在尝试创建一些功能,以便对给定用户表单中的数据如何随时间变化进行审计跟踪,并在该页面的底部进行过时的审计.例如:
02/04/09 21:49名称由"Tom"改为"Chris".
我这样做是通过在会话中以数据的当前格式存储数据,然后在保存时检查存储的数据是否存在任何差异.如果有,我将数据存储在名为history的表中最新编辑之前的数据,并将新值存储在当前用户表中.
这是最好的方法吗?
audit ×6
database ×3
sql-server ×2
audit-trail ×1
c# ×1
crud ×1
mysql ×1
nhibernate ×1
object ×1
php ×1
postgresql ×1
security ×1
trail ×1