首页 > 解决方案 > 查询 SQL 表并仅将更新的行传输到不同的数据库

问题描述

我有一个不断更新的数据库表。我希望仅查询对列中具有特定属性的行所做的更改/添加。例如,获取已更改/添加的行,其中的“描述”列是“xyz”。我的最终目标是将这些行复制到另一个数据库中的另一个表中。这甚至可能吗?不只是查询和覆盖另一个数据库中的行的原因是为了避免效率低下。

到目前为止我尝试了什么?

标签: sqlsql-servercross-database

解决方案


你可以通过两种方式做到这一点

  1. 有新的日期字段/列,如 update_time 和/或 create_time(如果需要,可以默认)。这些字段将指示记录的状态。您需要保存您的 previous_run_time,然后您的选择查询将查找 update_time/create_time 大于 previous_run_time 的记录,然后您可以将这些记录移动到新数据库。

  2. 让 CDC 打开源表,该表在 SQL Server 中默认可用,然后只移动那些受到影响的记录。


推荐阅读