如何最好地同步两个没有主键或标识列的数据库中的表?

问题描述

我有两个链接sql Server,并且每个表上都存在一个相同表的副本。我需要使这些表彼此保持同步,但是掌控我的能力并不想使用表复制来实现。

每个表都有大约90万行数据和大约150列。有几个消耗数据的过程。我本来是想将其中一个截断并使用另一个对其进行更新...但是在这种情况下,这是不切实际的(并且已经被我之上的人否决了。)

我最近编写了一个过程,该过程允许用户一个表中添加删除或更新数据,并且需要确保在一个表中进行的更改被合并到另一个表中。但是没有标识列,除了在所有150多个列上都匹配之外,我不确定如何标识其他表中的相应行。我在这里还应该指出,至少还有其他几个过程有时可以更改表(理论上应该对两个表进行相同的更改)。但是,这两个表已经以某种方式不同步。我能够将它们复制到一个表中,对它们进行重复数据删除(这很有趣),然后截断它们并重新插入它们,使它们再次相同。但是我不知道如果我没有定期运行某些东西来保持两个表彼此同步,那会持续多久。

与我一起工作的人认为sql可能具有我可以利用的隐藏标识列,但是我没有找到任何可以帮助我的东西。我已请求添加身份列的权限。对于我的一生,我不知道为什么会出现问题,或者为什么我们还没有这个问题……但是我们没有,而且该请求已被拒绝。因此,除了试图根据每一列来匹配行之外,我还是想办法去做。

我希望这里有一个sql神,可以在需要的时候为我提供一些救赎。如果需要安抚sql上帝说的话,我已经准备好在下一个满月下牺牲一个原始图形计算器。帮我堆栈溢出,这是我唯一的希望。

哦,如果有什么不同,我知道可能会有所不同,我们目前正在运行sql Server 2008 R2(我们即将升级...已经使用了大约三年了...)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)