在深入研究Microsoft文档的深渊之前,我想知道是否有人对变更数据捕获和变更跟踪有所了解,是否可以使用其中一个或两个来代替传统...
“审计跟踪表副本'真实 table'(原始表的所有字段, 加上日期/时间,用户ID和DML 动作字段)插入 触发器“
...设置数据库表审计跟踪,触发器填充审计跟踪表(这是所有手动工作)。
MSDN概述文档从较高层次解释了变更数据捕获和变更跟踪的内容,但对我来说还不够明确,并且没有直截了当地说明这些工具可以用来取代传统的审计跟踪我们经常做的桌子。
有经验使用变更数据捕获和变更跟踪的人可以节省我很多时间,还是确认我花时间看正确的工具?我们的审计跟踪的关键部分是捕获表的字段(INSERT,UPDATE,DELETE)的所有更改,何时发生,以及由谁完成。这些更改通常通过审计跟踪报告按时间顺序提供给最终用户。这是另一个问题......更改数据捕获或更改跟踪是解决方案,我假设可以像普通表中的数据一样查询此数据吗?
编辑:我需要一个永久的审计跟踪,无论时间如何。我看到Change Data Capture与事务日志有关,所以这对我来说听起来很有限。
答案 0 :(得分:5)
我认为在您的情况下您仍需要审核表。查看BOL,似乎会自动创建一个清理作业,并在每天凌晨2点运行。来自BOL:
清理工作每天凌晨2点开始。 它保留了更改表条目 4320分钟或3天,删除一个 单个最多5000个条目 删除声明。
这听起来似乎并不能做你想做的事。我无法想象那些审核表格的人会想要什么。看来,如果不是不可能的话,除了它自己的五个默认字段之外,将不在数据表中的任何字段添加到审计日志中是很困难的(我找不到它们是什么。)似乎数据也不会查询或用于回滚特定的错误更改非常有用。或者我可能只是不理解这个过程,因为BOL在这个问题上写的很差,但它肯定没有回答我用这个看起来很糟糕的过程取代审计的任何问题。