如何检测多个SQL Server表的更改?

时间:2015-03-03 23:33:32

标签: sql-server sql-server-2008 ssis etl

我们遇到的问题是,我们只需要发送对某些列和某些表所做的更改。我们在一台服务器A上有一个prod数据库,我们无法运行作业或程序。然后我们有单独的服务器,我们运行作业和存储过程,服务器B.我的问题是有什么方法可以自动检测prod db Server A表中的更改?

CDC? 比较哈希?

2 个答案:

答案 0 :(得分:1)

你绝对不想使用触发器。软件供应商可以/将找到它们并以此为借口停止支持您的应用程序。

使用CDC不会减慢系统速度(这么多),也不会影响应用程序的机制。将有几个系统表将由CDC创建/影响,但它们将与您的应用程序并行。

答案 1 :(得分:0)

是否有理由不能使用触发器,即更新或插入?

由于触发器无法为您工作,因此可能会将insert和update timestamp列添加到要监视的表中。然后,您可以维护运行差异检查的时间列表。任何带有" new"插入或更新时间戳将是您将导出到B服务器的东西。