如何进行复制

对于服务器到服务器的复制或者服务器与客户机之间的复制,一台计算机上的复制器在调度的时间调用另一个 Domino® 服务器。缺省情况下,复制器是在启动时装入的。要调度服务器间的复制,服务器必须彼此连接以能更新副本。所以,可能需要根据服务器的拓扑结构创建“连接”文档以启用服务器连接。

随着用户在数据库中添加、编辑和删除文档,在服务器下次复制之前,副本中会包含一些不同的信息。因为复制只传输对数据库的更改,所以网络传输量、服务器时间以及连接开销都会降至最低。

缺省情况下,在已调度的复制期间,源服务器首先从目标服务器拉入更改,然后将更改推出到目标服务器。此外,您也可以调度源服务器和目标服务器都拉入更改,或者仅调度由源服务器拉入更改或推出更改。

也可以使用服务器命令 PullPushReplicate 来启动服务器之间的复制。

要充分理解复制,需要熟悉相关链接中设置服务器对数据库的访问权的准则为服务器到服务器的复制设置数据库 ACL主题中的信息。

  1. 服务器或工作站通过下列方法之一启动复制:
    • “连接”文档中的复制调度设置生效。
    • 服务器控制台发布立即复制的复制命令。服务器控制台命令包括 PullPushReplicateload replica
    • “程序”文档中的设置。“程序”文档在服务器上启动新任务,而不是向现有任务发送工作。
    • Notes® 客户机用户界面中工作的最终用户发出了立即复制的复制命令。此操作仅由工作站而不由服务器完成。
    • Notes® 客户机中的已调度复制。此操作仅由工作站完成。

    服务器彼此认证的方法是:查找公用证书并进行测试以确定这些证书是正确的。

  2. 复制器构造要复制的本地文件列表,并要求远程服务器查找与本地文件列表匹配的文件。
    注: 如果启动复制的服务器不能与远程服务器连接,或不能搜索远程服务器,那么复制会失败。
  3. 复制器找到匹配后将查看复制历史记录以找出上次副本复制的时间。复制器使用本地数据库中的历史记录(本地数据库在“拉入”时是目标数据库,在“推出”时是源数据库)。该记录通常有两项,每项各代表一个方向(推出/拉入)。
    • 如果复制记录中没有项目、访问权限发生更改或选择性复制设置发生更改,则复制器必须搜索源数据库中的所有文档,而不是上次复制后未曾更改的文档。
  4. 复制器搜索源副本以查找上次复制后发生的更改。
    • 复制器在源数据库中构造上次成功复制后发生更改的文档列表。(对于拉入,源数据库是远程服务器上的数据库;对于推出,源数据库是本地服务器上的数据库。)列表受到“选择性复制设置”的限制。开始搜索的时间记录在复制历史记录中,以便以后的复制不必再处理已经复制过的更改。
    • 如果源数据库中的数据在上次成功向目标数据库复制后未曾更改,则不发生复制且复制记录不更新。
  5. 源数据库和目标数据库之间进行复制。源数据库到目标数据库的复制历史记录更新。如果有足够的访问权限,则源和目标数据库的复制历史记录均更新。

    如果复制未成功,则复制历史记录不更新,下次复制将再次搜索同一数据库。

有关服务器控制台复制命令以及“程序”文档的信息,请参阅有关主题。