我可以使用sql server日志文件进行更改跟踪吗?

时间:2013-06-20 08:01:55

标签: sql-server

Sql Server数据库同时具有mdf和ldf文件。 Mdf是数据,ldf是更改日志。我需要跟踪数据库中的每个“数据”更改。直到现在我已经使用了具有相同名称但是dcr(数据更改记录)架构的镜像表。这些由插入,更新,删除上的触发器填充。工作正常,但这是一个很大的开销。

由于我现在正在更新这个应用程序,我认为现在是重新审视它的好时机,这几乎从来没有使用但是某种“必需”功能。我可以使用Sql Server ldf文件吗?数据是否基于每列更改并且查询是否简单?

例如,现在用户可以说在2014年1月1日14时向我提供客户x的记录。这只是dcr.Customer表上的“between”查询。我可以用ldf做到这一点。

如果没有,那么有一个开源选项吗?或者是通过触发器改变跟踪的方式呢?

1 个答案:

答案 0 :(得分:1)

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

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

http://standardeditioncdc.codeplex.com/

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