1

我对合并复制很陌生,但是一个场景。如果我有一台服务器,并且有两个具有拉式订阅的客户端,这些机器上的时间是否与彼此或服务器不同步是否重要?

当我在其中一个客户端上修改一些数据时,它是否会针对该更改存储时间?

我正在使用 MS SQL 2012。

我将使用此处描述的设置,

http://msdn.microsoft.com/en-us/library/ms151329(v=sql.105).aspx

4

2 回答 2

0

我目前在生产中有一个使用合并复制的第 3 方应用程序。这包括一个 SQL 2008 R2 数据库服务器作为发布者,大约 100 个桌面客户端通过该应用程序与数据库交互,另外还有 65 台笔记本电脑使用 SQL Server Express 2008 R2 作为发布者的订阅者。当笔记本电脑到达他们的基地位置时,它们通过无线同步,任何增量都被推送给用户。

现在来回答你的问题。客户端上的时间低至一毫秒可能不会有任何区别。不同之处在于发布者和订阅者是否在特定时间段内不同步。使用 SQL Server Mgmt Studio,查看发布数据库的服务器。展开 Server Objects & Management 之间的 Replication 部分,然后右键单击发布者,在 Local Publications 下,然后选择 Properties。

在常规页面下,查看订阅到期区域。Microsoft 的默认值为 14 天,可以根据需要向上/向下移动,或者您可以指定它根本不会过期。请注意短语“复制元数据的保存时间永远不会超过此时间”。

换句话说,如果您的一个订阅者超过 14 天没有预订,那没关系,您必须取消订阅,然后重新订阅该单元。这是因为发布者上最旧的元数据与订阅者上的最新记录/元数据之间存在差距。没有重叠,没有同步。

于 2012-07-06T19:05:20.390 回答
0

好的,我发现合并复制不会针对特定更改存储时间。

如果您有客户订阅,那么在发生冲突的情况下,第一个同步的人将获胜。

如果您有服务器订阅,那么这些服务器订阅的优先级将决定谁将获胜。

这些选项都不依赖于时间。

于 2012-06-04T21:34:26.440 回答