在SQL 2008中更改跟踪

什么版本的SQL Server 2008更改跟踪需要? 更改数据捕获需要从我读过的企业,我希望更改跟踪将运行在标准。

TIA Dave

变更追踪在每一个版本中 – 它的全部重点是支持偶尔连接的系统场景 – 例如手持设备。 更改数据捕获仅限于Enterprise。

以下是我在2008年11月为TechNet杂志撰写的一篇专题文章: SQL Server 2008:跟踪企业数据库中的变更 ,提供了一些可能作为DBA遇到的变更跟踪或变更数据捕获启用,以及它们之间的扩展比较表。 从与SQL Books Online团队的技术撰写人交谈,他们知道BOL需要升级这两个function – TN Mag的文章现在更容易访问。

变更追踪的主要原因之一就是你应该真的使用快照隔离 – > tempdb加载。

为了显示审计信息的差异,并更好地说明比较变更数据捕获和变更追踪 ,下面是一些示例:

我修改了表中的logging,突出显示了这些更改 – AddressID为1,5和2的行依次排列

在这里输入图像说明

然后我加了一行AddressID = 32522,之后删除了结果是:

在这里输入图像说明

显示的值表示所做的更改 – 对AddressID为1,2和5的行进行三次更新,并删除AddressID = 32522的行。没有明确指示32522行是第一次插入,但根据更改创build版本(ChCrVer)和更改版本(ChVer)值5和6,有2个更改。 第二个是删除,但我们不知道第一个是什么

这是Change Data Capture提供的信息

在这里输入图像说明

__ $ operation = 1是被删除的行,2是插入的,3是之前更新过的行

如果一列从1970年的“纳帕街”第一次更新到“123街”,然后到“99雏菊街”,你可以得到所有3笔交易,或者只是净值(最后一笔)

在这里输入图像说明

在这里输入图像说明

“更改跟踪”只显示更改的内容以及更改是插入,更新还是删除,“更改数据捕获”显示插入,删除或更新修改行的值。 对于更新,它显示更新行的旧值和新值

该function不会跟踪进行更改的用户。 为此,您必须创build一个新的字段,用户的详细信息将在每次更改后存储和更新。 改变的时间和用于改变的机器也是如此。 不跟踪SELECT语句和对象访问的执行