合并复制的 Web 同步允许使用 HTTPS 协议复制数据,并适用于以下方案:
通过 Internet 同步来自移动用户的数据。
跨企业防火墙在Microsoft SQL Server 数据库之间同步数据。
例如,旅行销售代表可以使用 Web 同步。 该公司 Adventure Works Cycles 拥有销售代表,这些代表将前往其整个地区的各种商店和供应商。 在更长的行程中,代表们住在酒店,需要一种方便的方式上传销售数据,并在每天结束时下载任何产品更新。
Adventure Works IT 部门已使用 SQL Server 配置了每个便携式计算机,并启用了合并复制以使用 Web 同步。 每台便携式计算机上的合并代理都有一个 Internet URL,该 URL 指向安装在运行 Microsoft Internet Information Services (IIS)的计算机上的复制组件。 这些组件将订阅服务器与发布服务器同步。 现在,每个代表都可以通过任何可用的 Internet 连接进行连接,而无需使用远程拨号连接,并且可以上传和下载相应的数据。 Internet 连接使用安全套接字层(SSL):因此,不需要虚拟专用网络(VPN)。
有关如何配置 Web 同步所需的组件的信息,请参阅“配置 Web 同步”、“为 Web 同步配置 IIS”和“为 Web 同步配置 IIS 7”。
注释
Web 同步旨在将数据与便携式计算机、手持设备和其他客户端同步。 Web 同步不适用于大容量服务器到服务器应用程序。
Web 同步工作原理概述
使用 Web 同步时,订阅服务器上的更新将打包并作为 XML 消息发送到使用 HTTPS 协议运行 IIS 的计算机。 然后,运行 IIS 的计算机以二进制格式(通常通过使用 TCP/IP)将命令发送到发布服务器。 发布服务器上的更新将发送到运行 IIS 的计算机,然后将其打包为 XML 消息,以便传递到订阅服务器。
下图显示了合并复制的 Web 同步中涉及的一些组件。
Web 同步只是请求订阅的选项;因此,合并代理将始终在订阅服务器上运行。 此合并代理可以是标准合并代理、合并代理 ActiveX 控件或通过复制管理对象(RMO)提供同步的应用程序。 若要指定运行 IIS 的计算机的位置,请使用合并代理的 -InternetUrl 参数。
SQL Server 复制侦听器(Replisapi.dll)在运行 IIS 的计算机上配置,负责处理从发布服务器和订阅服务器发送到服务器的消息。 拓扑中的每个节点使用合并复制协调器(Replrec.dll)处理 XML 数据流。
参与 Web 同步的所有计算机都需要 SQL Server 2005 或更高版本。
同步过程
在同步期间执行以下步骤:
合并代理在订阅者服务器上启动。 代理执行以下作:
建立与订阅数据库的 SQL 连接。
从数据库中提取任何更改。
向运行 IIS 的计算机发出 HTTPS 请求。
以 XML 消息的形式上传数据更改。
运行 IIS 的计算机上托管的 SQL Server 复制侦听器和合并复制协调程序执行以下作业:
响应 HTTPS 请求。
建立与发布数据库的 SQL 连接。
将上传过程中的更改应用于发布数据库。
提取订阅者的下载更改。
将 HTTPS 响应发送回合并代理。
然后,订阅服务器上的合并代理接受 HTTPS 响应,并将下载更改应用于订阅数据库。