我对合并复制很新,但是一个场景。如果我有一台服务器,并且有两个带有拉取订阅的客户端,那么这些机器上的时间是否与彼此或服务器不同步是否重要?
当我修改其中一个客户端上的某些数据时,它是否会根据该更改存储时间?
我正在使用MS SQL 2012。
我将使用此处所述的设置,
http://msdn.microsoft.com/en-us/library/ms151329(v=sql.105).aspx
答案 0 :(得分:0)
好的,我发现合并复制不会存储针对特定更改的时间。
如果您有客户订阅,那么第一个同步的人将在冲突的情况下获胜。
如果您有服务器订阅,那么这些服务器订阅的优先级将决定谁将获胜。
这些选项都不依赖于时间。
答案 1 :(得分:0)
我目前在生产中使用合并复制的第三方应用程序。这包括SQL 2008 R2数据库服务器作为发布者,其中约100个桌面客户端通过应用程序与数据库交互,另外还有65台笔记本电脑,其中SQL Server Express 2008 R2作为发布者的订阅者。笔记本电脑在到达其本地基站时通过无线同步,任何增量都被推送到订户。
现在回答你的问题。客户端的时间可能会缩短到毫秒,但不会产生任何影响。 将产生影响的是发布者和订阅者是否在超过特定时间段内不同步。使用SQL Server Mgmt Studio,查看发布数据库的服务器。在服务器对象和服务器之间展开“复制”部分。管理,然后右键单击发布者,在“本地发布”下,选择“属性”。
在“常规”页面下,查看“订阅到期”区域。 Microsoft的默认值为14天,可以根据需要上下移动,也可以指定它根本不会过期。请注意,“复制元数据永远不会超过此时间长度。”
换句话说,如果您的某个订阅者超出预订超过14天,则无关紧要,您必须取消订阅,然后重新订阅该单位。这是因为出版商和发行商之间最古老的元数据之间存在差距。订阅者的最新记录/元数据。没有重叠,没有同步。