【发布时间】:2021-01-29 13:46:28
【问题描述】:
在谷歌搜索比较位于两个不同数据库中的两个表(相同模式)的方法时,我遇到了tablediff.exe 实用程序,它非常适合创建脚本以在表 B 中进行更改以使其匹配表A.
但是,就我而言,仅当 B 中的数据早于 A 的数据时,我才需要对表 B 进行更改。否则,更改需要应用于表 A。
有没有办法使用tablediff.exe,如果没有,是否有任何免费的命令行替代方案?
【问题讨论】:
-
请用您正在使用的数据库标记您的问题。同时提供样本数据和期望的结果。
-
你可以尝试链接服务器,这样你就可以在两个不同的服务器之间进行查询。
-
感谢@JiachengGao,这就是我正在做的事情,但是表很大,服务器通过 WAN 连接,这使得过程太慢。不知何故,tablediff 能够非常快速地进行比较,但它的问题是它无法决定应该更新哪个表上的哪条记录。
-
@Osprey,我对这个工具不太熟悉,你可以将 tablediff 实用程序的 -sourceserver 选项设置为第一台服务器,将 -destinationserver 选项设置为第二台服务器。我找到了一些帖子可能可以解决您的问题,您介意检查一下吗? stackoverflow.com/questions/1722846/…
-
@JiachengGao 问题是tablediff是单向的,即有源表和目标表。我需要更改是双向的,并取决于上次更新的记录。
标签: sql sql-server compare