更改数据捕获或更改跟踪 - 与传统审计跟踪表相同?

Har*_*ode 11 change-tracking change-data-capture audit-trail sql-server-2008

在我深入研究Microsoft文档的深渊之前,我想知道是否有经验的变更数据捕获和变更跟踪知道是否可以使用其中一个或两个来取代传统...

"由Triggers插入的'真实表'的审计跟踪表副本(原始表的所有字段,加上日期/时间,用户ID和DML操作字段)"

...设置数据库表审计跟踪,其中触发器填充审计跟踪表(这是所有手动工作).

MSDN概述文档在很高的层次上解释了变更数据捕获和变更跟踪的内容,但对我来说还不够明确,并且没有直截了当地说明这些工具可以用来取代传统的审计跟踪表.经常做的.

有经验使用变更数据捕获和变更跟踪的人可以节省我很多时间,还是确认我花时间看正确的工具?我们审计跟踪的关键部分是捕获对表的字段(INSERT,UPDATE,DELETE)的所有更改,何时发生,以及由谁完成.这些更改通常通过审计跟踪报告按时间顺序提供给最终用户.这是另一个问题......更改数据捕获或更改跟踪是解决方案,我假设可以像普通表中的数据一样查询此数据?

编辑:我需要一个永久的审计跟踪,无论时间.我看到Change Data Capture与事务日志有关,所以这对我来说听起来很有限.

HLG*_*GEM 5

我认为在你的情况下你仍然需要审计表.查看BOL,似乎会自动创建一个清理作业,并在每天凌晨2点运行.来自BOL:

清理作业每天凌晨2点运行.它保留更改表条目4320分钟或3天,使用单个删除语句最多删除5000个条目.

这听起来像是定义不能做你想要的.我无法想象那些审核表格的人会想要什么.看来,如果不是不可能的话,除了它自己的五个默认字段之外,将不在数据表中的任何字段添加到审计日志中是很困难的(我找不到它们是什么.)似乎数据也不会查询或用于回滚特定的错误更改非常有用.或者我可能只是不理解这个过程,因为BOL在这个问题上写的很差,但它肯定没有回答我用这个看起来很糟糕的思考过程取代审计的任何问题.