0

Sql Server 数据库同时具有 mdf 和 ldf 文件。Mdf 是数据,ldf 是更改日志。我需要跟踪数据库中的每个“数据”更改。到目前为止,我一直使用同名但采用 dcr(数据更改记录)模式的镜像表。这些由插入、更新、删除的触发器填充。工作正常,但开销很大。

由于我现在正在更新这个应用程序,我认为现在是重新审视这个几乎从未使用过但不知何故“必需”的功能的好时机。我可以为此使用 Sql Server ldf 文件吗?数据是否都在每列更改的基础上,查询是否简单?

例如,现在用户可以说在 2013 年 1 月 1 日 1400 时给我客户 x 的记录。这只是 dcr.Customer 表上的“介于”查询。我可以用 ldf 做到这一点吗?

如果没有,是否有开源选项?或者触发器的变化跟踪是如何完成的?

4

1 回答 1

1

更改数据捕获是最快和最简单的方法,但遗憾的是 Express 不支持。更改跟踪适用于所有版本,但它只会告诉您更改了哪些行和列,而不是之前和之后的值。

有一个用于执行 CDC 的 codeplex 项目,但它看起来是按照您的方式构建的,即基于触发器的,这与我之前被告知如何在没有昂贵版本的情况下执行它的内容一致。

http://standardeditioncdc.codeplex.com/

仍然 - 其他人的项目可能意味着它的使用可以为您节省一些时间,或者他们将更多时间用于提高性能,因此它可能对您有用 - 即使只是为了阅读代码以比较实现。

于 2013-06-20T08:40:09.477 回答