如何比较 2 个不同数据库中的 2 个表并仅更新更改的值?

How to compare 2 tables in 2 different databases and only update the values that changed?

我目前正在开发一个 SSIS 包,它将 tables 从一个 SQL 服务器移动到另一个 SQL 服务器。我当前的实现涉及在再次创建和复制 table 数据之前将 table 删除到目标数据库。但是,这样会有一个很短的时间间隔,在此期间,当我删除并再次创建时,目标数据库中的 table 将不可用。因此,如果客户端碰巧在包运行的同时访问它,则客户端可能根本没有任何 data/table。有没有一种方法可以避免这种滞后,并且只更新未删除或根本不可能更改的值?

您可以进行增量加载。请在下面找到步骤link https://www.tutorialgateway.org/incremental-load-in-ssis/

否则您可以先像 yourtablename_tmp 一样在分段 table 中加载数据,然后删除实际目标 table 并将分段 table 重命名为您的table姓名 。这样,差距将非常短。