合并复制的 Web 同步
合并复制的 Web 同步允许使用 HTTPS 协议复制数据,并可用于以下情况:
通过 Internet 同步移动用户数据。
穿过企业防火墙在 MicrosoftSQL Server 数据库之间同步数据。
例如,正在出差的销售代表可以使用 Web 同步。Adventure Works Cycles 公司的销售代表们要去所在区域的不同商店和供应商那里出差。如果出差时间较长,销售代表们会住在宾馆里,这就需要一种方便的方法,能够在每天结束时上载销售数据,下载产品更新信息。
因此,Adventure Works 的 IT 部门为每台便携式计算机配置了 SQL Server,并启用了合并复制以便使用 Web 同步。每台便携式计算机上的合并代理都有一个 Internet URL,它指向运行 Microsoft Internet 信息服务 (IIS) 的计算机上所安装的复制组件。这些组件用于使订阅服务器与发布服务器同步。现在,每个代表能够通过任何可用的 Internet 连接进行连接而无须使用远程拨号,能够上载和下载合适的数据。Internet 连接使用安全套接字层 (SSL),所以不需要虚拟专用网络 (VPN)。
有关如何配置 Web 同步所需组件的信息,请参阅配置 Web 同步。
注意 |
---|
Web 同步的设计目的是为了与便携式计算机、手持设备以及其他客户端同步数据,Web 同步并不适于大容量服务器对服务器应用程序。 |
Web 同步的工作机制概述
使用 Web 同步时,借助 HTTPS 协议,将订阅服务器上的更新按 XML 消息打包并发送给运行 IIS 服务器的计算机。然后,运行 IIS 的计算机将命令以二进制格式发送给发布服务器(通常使用 TCP/IP)。发布服务器上的更新将被发送给运行 IIS 的计算机,然后按 XML 消息打包,以便传递给订阅服务器。
下图显示了合并复制的 Web 同步中涉及的一些组件。
Web 同步选项仅适用于请求订阅;所以,合并代理始终在订阅服务器上运行。此合并代理可以是标准合并代理、合并代理 ActiveX 控件或者通过复制管理对象 (RMO) 提供同步的应用程序。若要指定运行 IIS 的计算机的位置,请对合并代理使用 –InternetUrl 参数。
SQL Server 复制侦听器 (Replisapi.dll) 在运行 IIS 的计算机上配置,负责处理从发布服务器和订阅服务器发送给服务器的消息。拓扑中的每个节点都使用合并复制协调器 (Replrec.dll) 处理 XML 数据流。有关支持的拓扑的详细信息,请参阅 Web 同步的拓扑。
对于所有参与 Web 同步的计算机,均需要 SQL Server 2005 或更高版本。
同步过程
同步过程包括以下步骤:
合并代理在订阅服务器上启动。该代理将执行下列操作:
与订阅数据库建立 SQL 连接。
从数据库中提取任何更改。
向运行 IIS 的计算机发出 HTTPS 请求。
将数据更改作为 XML 消息上载。
运行 IIS 的计算机中所承载的 SQL Server 复制侦听器和合并复制协调器将执行下列操作:
对 HTTPS 请求做出响应。
与发布数据库建立 SQL 连接。
将上载更改应用于发布数据库。
为订阅服务器提取下载更改。
将 HTTPS 响应发送回合并代理。
然后,订阅服务器上的合并代理将接受 HTTPS 响应,并将下载更改应用于订阅数据库。