我想监视10个表格,每个表格有1000条记录。我需要知道什么时候有记录,哪条记录改变了。有哪些方法可用于监视SQL数据库记录?
我已经查看了SQL依赖关系,但看起来SQL依赖关系只能告诉我表更改了表,而不更改哪条记录。然后我必须比较表中的所有记录以找到修改的记录。随着记录的不断变化,我怀疑这对我来说会是个问题。
我也研究过SQL触发器,但我不确定触发器是否可以监视哪条记录发生了变化。
我的另一个想法是创建一个“监控”表,每当记录被修改时,通过应用程序代码添加记录。
你知道任何其他方法吗?
编辑: 我使用SQL Server 2008
我特地到变更数据捕获这是在2008年SQL提供和马丁·史密斯建议。更改数据捕获似乎是一个强大,易于实施和非常有吸引力的解决方案。我将在我的数据库上发布CDC。
SQL Server的版本和版本是什么? [更改数据捕获](http://msdn.microsoft.com/zh-cn/library/bb522489.aspx)是否可用? – 2012-02-23 00:06:25
不要依赖应用程序代码。尽你所能相信,它永远不会是唯一触及你的数据的东西。 – 2012-02-23 03:51:32
@Martin Smith我正在使用SQL Server 2008.我将不得不检查并查看Change Data Capture是否可用。 – Mausimo 2012-02-23 16:37:50