我们正在使用SQL Server 2008 SP 2,并且有6个站点之间的复制
问题是:
我们将金额值保存在一列(例如:500 $)中,这可能会同时在两个站点中更改,如果此时复制已关闭,那么我们在两个站点中都有两个不同的值,如果我使用最近更新或发布者作为赢家我会得到错误的金额值
是否有任何复制策略来合并这两个值?
答案 0 :(得分:0)
你的问题有些奇怪。如果您在事务性数据库上使用事务复制(请参阅here),则不会发生这种情况。
问题是您的数据库设计不正确。您允许“增量”更改进入字段,而不存储增量(事务)。你的问题有点含糊不清,因为你没有解释应该发生什么。为什么最近的价值不足够?
您应该将数据库更改存储为事务:
而不是绝对值:
在第一种情况下,您可以按任意顺序应用交易以赶上。在第二种情况下,您最终只会应用其中一种。
汇总值(例如余额)应该来自交易,可能使用触发器或存储过程。