一尘不染

SQL Server 2008更改数据捕获与审核跟踪中的触发器

sql

我们在Web应用程序上使用触发器实现了审计跟踪。这些触发器记录字段级别的更新。因此,在一个表中,如果您更改了5个列值,则审计跟踪中将有5条记录,其中每列具有旧值和新值。

最近,我们已升级到SQL
Server2008。我一直在考虑使用新的更改数据捕获功能,因为它以较少的工作量就可以提供非常整齐的行级更新,并且实现起来非常容易。只是想从一直使用变更跟踪的任何警告或任何其他现实世界中有用的信息的人那里获取一些意见。

任何意见将是有益的。

编辑:-http : //technet.microsoft.com/en-
us/magazine/2008.11.sql.aspx?pr=blog


阅读 119

收藏
2021-03-17

共1个答案

一尘不染

我在WPF应用程序中使用CDC。效果很好,但是我发现了三个问题:

  • 您需要经常备份变更表(我使用MERGE语句将记录添加到历史表中)。因为我发现记录仅在更改表中保留大约2-3天。不要忘记备份 cdc.lsn_time_mapping 表。
  • 您不能在启用CDC的情况下截断表。
  • 禁用cdc并重新启用存在问题(如MS所说,应在新的Service Pack中解决)。我只遇到过一次这个问题,所以并不那么烦人。

http://blogs.technet.com/b/claudia_silva/archive/2010/06/04/cdc-cdc-hangs-
when-i-try-to-disable-
it.aspx

无论如何,CDC是一个非常有用的机制,可以帮助我跟踪数据库上的所有更改。

2021-03-17