Sql Server数据库同时具有mdf和ldf文件。 Mdf是数据,ldf是更改日志。我需要跟踪数据库中的每个“数据”更改。直到现在我已经使用了具有相同名称但是dcr(数据更改记录)架构的镜像表。这些由插入,更新,删除上的触发器填充。工作正常,但这是一个很大的开销。
由于我现在正在更新这个应用程序,我认为现在是重新审视它的好时机,这几乎从来没有使用但是某种“必需”功能。我可以使用Sql Server ldf文件吗?数据是否基于每列更改并且查询是否简单?
例如,现在用户可以说在2014年1月1日14时向我提供客户x的记录。这只是dcr.Customer表上的“between”查询。我可以用ldf做到这一点。
如果没有,那么有一个开源选项吗?或者是通过触发器改变跟踪的方式呢?
答案 0 :(得分:1)
变更数据捕获,这是最快捷,最简单的方法,很遗憾,Express不适用。所有版本都提供更改跟踪,但它只会告诉您更改了哪些行和列,而不是之前和之后的值。
有一个用于CDC的codeplex项目,但它看起来是按照你的方式构建的,即基于触发器,这与我之前被告知的如何在没有昂贵的版本的情况下完成它一致。
http://standardeditioncdc.codeplex.com/
仍然 - 某个人的项目可能意味着它的使用可以为您节省一些时间,或者他们将更多的时间用于提高性能,因此它可能对您有用 - 即使只是为了比较实现的代码。