本主题中的过程是为合并复制配置 Web 同步的第二个步骤。应在为 Web 同步启用发布后执行此步骤。有关配置过程的概述,请参阅 配置 Web 同步。完成本主题中的过程后,请继续执行第三个步骤“配置订阅以使用 Web 同步”。下列主题中将介绍第三个步骤:
- sql Server Management Studio: 如何配置订阅以使用 Web 同步 (SQL Server Management Studio)
- 复制 Transact-sql 编程: How to: Configure a Subscription to Use Web Synchronization (Replication Transact-SQL Programming)
- RMO: How to: Configure a Subscription to Use Web Synchronization (RMO Programming)
Web 同步使用运行 Microsoft Internet 信息服务 (IIS) 的计算机,使请求订阅与合并发布同步。支持 IIS 5.0 和 6.0 版。
|
---|
请确保您的应用程序仅使用 .NET Framework 2.0 或更高版本,并且 IIS 服务器上没有安装 .NET Framework 的较早版本。较早版本的 .NET Framework 可能导致错误。这些错误的内容如下:“Web 同步期间出现的消息的格式无效。请确保在 Web 服务器上正确配置了复制组件”。
|
若要使用 Web 同步,必须通过完成以下步骤来配置 IIS。本主题对每个步骤都进行了详细说明。
- 配置安全套接字层 (SSL)。IIS 和所有订阅服务器之间的通信需要 SSL。
- 使用 sql Server 安装向导在运行 IIS 的计算机中安装 Microsoft sql Server 连接组件。 如果计划使用步骤 3 中提及的配置 Web 同步向导,那么还必须在运行 IIS 的计算机中安装 sql Server Management Studio。
- 为 Web 同步配置正在运行 IIS 的计算机。可以手动配置计算机,也可以使用配置 Web 同步向导。建议您使用该向导。
- 为 sql Server 复制侦听器设置相应权限。
- 在诊断模式下运行 Web 同步,以便测试与正在运行 IIS 的计算机的连接,并确保已正确安装 SSL 证书。
若要配置 SSL,请指定一个供正在运行 IIS 的计算机使用的证书。用于合并复制的 Web 同步支持使用服务器证书,但不支持使用客户端证书。若要为部署配置 IIS,就必须首先从证书颁发机构 (CA) 获取证书。证书颁发机构是一个实体,负责确保属于用户、计算机或其他证书颁发机构的公共加密密钥的真实性并为其担保。有关证书的详细信息,请参阅 IIS 文档。安装证书后,必须使该证书与 Web 同步所用的网站相关联。
如果无法从 CA 获得服务器证书,则可指定进行测试所需的证书。若要为测试配置 IIS 6.0,请使用 SelfSSL 实用工具安装证书。可从 IIS 6.0 资源工具包中获得该实用工具。您可以从此 Microsoft 网站下载上述工具。对于 IIS 5.0,请转到此 Microsoft 网站。
|
---|
证书必须与网站相关联,该网站才能使用 SSL。SelfSSL 自动使证书与默认网站相关联。如果已有证书或以后从 CA 安装证书,则必须明确地使该证书与 Web 同步所使用的网站相关联。确保只有一个与用于同步订阅的网站相关联的证书。如果存在多个证书,订阅服务器将使用第一个可用网站。
|
-
下载并安装 SelfSSL。默认情况下,应用程序安装到 <驱动器>:/Program Files/IIS Resources/SelfSSL。应用程序和文档快捷方式复制到 <驱动器>:/Documents and Settings/All Users/Start Menu/Programs/IIS Resources/SelfSSL。
-
运行 SelfSSL:
-
从 Microsoft sql Server 2005 安装盘中启动 sql Server 安装向导。有关使用该向导的详细信息,请参阅 如何安装 SQL Server 2005(安装程序)。
-
在“要安装的组件”页中,单击“高级”。
-
在“功能选择”页中,展开“客户端组件”节点。
-
单击“连接组件”,然后单击“整个功能将安装到本地硬盘上”。
-
如果计划使用配置 Web 同步向导:
-
完成该向导,然后重新启动计算机。
注意:
可以安装其他组件,但 Web 同步仅需要连接组件。
使用配置 Web 同步向导或以手动方式配置 IIS 服务器。我们建议您使用向导,但同时在下一部分中提供手动配置的步骤。以下配置:
- 使用 IIS 中的默认网站。但也可以使用其他网站。有关如何创建网站的详细信息,请参阅 IIS 文档。
注意:
通过指定的网站可访问 Web 同步使用的组件。它不会提供对其他数据或网页的访问,除非将其如此配置。 - 创建虚拟目录及其关联的别名。访问 Web 同步组件时使用该别名。例如,如果 IIS 地址是 https://server.domain.com,而您指定了别名“websync1”,那么访问 replisapi.dll 组件的地址就是 https://server.domain.com/websync1/replisapi.dll。
- 使用基本身份验证。建议使用基本身份验证,因为它不需要 Kerberos 委托就可以在单独的计算机上运行 IIS 和 sql Server 发布服务器/分发服务器(建议配置)。将 SSL 与基本身份验证一起使用可以确保登录名、密码和所有数据都在传输中加密。(无论使用何种类型的身份验证,都需要 SSL。)有关 Web 同步的最佳方法的详细信息,请参阅 配置 Web 同步中的“Web 同步的最佳安全配置”部分。
-
连接至发布服务器,然后展开服务器节点。
-
展开“本地发布”文件夹,右键单击发布,然后单击“配置 Web 同步”。
-
在“Web 服务器”页中:
-
在“虚拟目录信息”页中:
-
在“经过身份验证的访问”页中:
-
在“目录访问”页中:
-
在“快照共享访问”页中,输入快照共享。在这个共享上设置相应权限,以使订阅服务器能够访问快照文件。有关此共享的权限的详细信息,请参阅 保护快照文件夹的安全。
-
在“完成向导”页中,单击“完成”。
如果出现故障,例如尝试配置正在运行 IIS 的远程计算机时出现网络错误,就会回滚所有完成的操作并取消所有剩余操作。如果无法回滚某项已完成的操作,则向导末页中的状态会显示“成功”,而已完成的操作会保持提交状态。
-
如果正在运行 IIS 的计算机在 64 位版本的 Microsoft Windows 上运行,则必须将 replisapi.dll 复制到相应目录:
- 单击“启动”,再单击“运行”。在“打开”框中,键入 iisreset,然后单击“确定”。
- IIS 停止并重新启动后,将 replisapi.dll 从 <驱动器>:/Program Files/Microsoft sql Server/90/COM/replisapi 复制到步骤 6b 中指定的目录。
- 单击“启动”,再单击“运行”。在“打开”框中,输入 cmd,然后单击“确定”。
- 在步骤 6b 指定的目录中,执行以下命令:
regsvr32 replisapi.dll
若要手动配置正在运行 IIS 的计算机,必须安装和配置 sql Server 复制侦听器,然后为将连接到 IIS 的订阅服务器配置授权。
-
在正在运行 IIS 的计算机上创建一个文件目录,用来存放 replisapi.dll。可在任意位置创建该目录,但建议将该目录创建在 <驱动器>:/Inetpub 目录下。例如,可以创建目录 <驱动器>:/Inetpub/sqlReplication/。
-
将 replisapi.dll 从目录 <驱动器>:/Program Files/Microsoft sql Server/90/com/ 复制到在步骤 1 中创建的文件目录。
-
注册 replisapi.dll:
- 单击“启动”,再单击“运行”。在“打开”框中,输入 cmd,然后单击“确定”。
- 在步骤 1 创建的目录中,执行以下命令:
regsvr32 replisapi.dll
-
创建一个用于复制的新网站,或使用现有网站。复制组件将在同步过程中访问该网站。有关如何创建网站的详细信息,请参阅 IIS 文档。
-
在 IIS 上创建一个虚拟目录。虚拟目录应在步骤 4 所创建的网站下创建,并将其映射到步骤 1 中创建的目录。有关如何创建虚拟目录的详细信息,请参阅 IIS 文档。建议尽量限制为该目录分配权限。必须选择“读取”和“执行”权限,但可以清除“运行脚本”、“写入”和“浏览”权限。
-
配置 IIS 以允许执行 replisapi.dll。步骤 4 中分配的权限对 IIS 的早期版本足够了,但 IIS 6.0 版要求启用 Internet Server API (ISAPI) 扩展。有关详细信息,请参阅 IIS 6.0 文档中的“配置 ISAPI 扩展”和“启用和禁用动态目录”。
订阅服务器连接到正在运行 IIS 的计算机时,将使用您在配置 IIS 时指定的身份验证类型对订阅服务器进行身份验证。IIS 对订阅服务器进行身份验证后,IIS 将检查订阅服务器是否有权调用 sql Server 复制。通过设置 replisapi.dll 权限可以控制能够调用 sql Server 复制的用户。适当的权限配置对于防止在未经授权的情况下访问 sql Server 复制而言很有必要。
若要配置运行 sql Server 复制侦听器的帐户的最低权限,请完成以下过程。该过程中的步骤适用于运行 IIS 6.0 的 Microsoft 。
除了要执行下列步骤之外,请确保所需的登录名存在于发布访问列表 (PAL) 中。有关 PAL 的详细信息,请参阅 保护发布服务器的安全。
在诊断模式下运行 Web 同步,以便测试与正在运行 IIS 的计算机的连接,并确保已正确安装安全套接字层 (SSL) 证书。若要在诊断模式下运行 Web 同步,您必须是运行 IIS 的计算机中的管理员。
-
确保订阅服务器中的局域网 (LAN) 设置正确:
-
在订阅服务器上的 Internet Explorer 中,用向 replisapi.dll 的地址追加
?diag
的方法以诊断模式连接到服务器。例如:https://server.domain.com/directory/replisapi.dll?diag。 -
如果 Microsoft Windows 操作系统不能识别您为 IIS 指定的证书,则会显示“安全警报”对话框。如果该证书是测试证书或是由 Windows 不能识别的证书颁发机构 (CA) 颁发的证书,便会显示该警报。
-
在“连接到 <服务器名称>”对话框中,指定合并代理将用来连接到 IIS 的登录名和密码。在新建订阅向导中也要指定这些凭据。
-
在名为“sql Websync 诊断信息”的 Internet Explorer 窗口中,验证该页中每个“状态”列的值是否都为 SUCCESS。
-
确保证书已正确安装到订阅服务器中:
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。