2010-08-22 49 views
1

我想查看其他人是否正在使用SQL Server 2008更改数据捕获,如果有的话,您喜欢它吗?我们目前使用APEXSQL Audit Triggers作为审计目的,似乎工作得很好,但意味着我们必须将触发器添加到我们所有的“审计”表中。对于审计触发器或CDC

我读过的一些文章指出,如果在更改架构然后放弃旧架构时必须创建新的捕获表,但就一般维护而言,它似乎相当简单。

任何意见/输入非常感谢。

--S

回答

5

系统有多繁忙,审核的最终目标是什么;跟踪短时间内的变化,或长时间审核更改?我与CDC面临的最大问题之一是它利用日志阅读器和SQL代理作业来捕获更改,因此繁忙的系统可能会落后于它不会赶上,除非关闭CDC,导致最坏的情况一个完整的事务日志,或者至多延迟截断导致日志的大小增加。如果您的目的是进行真正的审计,那么CDC不是为此构建的,除非您设置作业将数据拉入审计表中,就像使用触发的解决方案一样,否则它更适合于同步更改,而不是长期审计。

您在此处未提及新的服务器审计规范,这是另一种可供选择的方法,但请记住,服务器审计规范用于通过包含进行审计。这是我仍然在我的SQL Server 2008 Ent数据库中使用旧的尝试过的,真正的触发器和审计表方法的原因之一,它仍然是最简单的解决方案,直到新功能通过产品中的v1.0功能。

+0

感谢乔纳森真的很好的信息。 – scarpacci 2010-08-22 20:59:10

2

如果你有一个有效的审计解决方案,我甚至不会尝试。

我在研究这个问题时注意到的另一个问题是,您不能添加诸如对表进行更改的用户(或至少我无法弄清楚),因此您的审计表可能更多比CDC允许的灵活性。

最后CDC表格会在3天后过期(尽管我认为您可以更改过期期限,但仍然需要设置特定的时间范围。)我们保留审计记录的时间比这更长,因此您仍然需要将其复制出来CDc表到审计表。

+0

非常感谢有意义的信息。因此,如果我想使用数据来填充数据仓库,那么您是否只使用这些函数来获取当前没有拖过的数据呢? – scarpacci 2010-08-23 22:59:56

+0

我们使用SSIS包。 – HLGEM 2010-08-24 13:48:26