升级复制数据库

更新日期: 2006 年 7 月 17 日

SQL Server 2005 支持从 SQL Server 的早期版本升级复制数据库;在升级某一节点时,不需要停止其他节点的活动。请务必遵守有关拓扑中支持哪些版本的规则:

  • SQL Server 7.0 Service Pack 4 (SP4) 是参与 SQL Server 2005 的复制拓扑所需的最低版本。如果使用的是 SQL Server 2000,则需要使用 Service Pack 3 (SP3) 或更高版本。
  • 分发服务器的版本可以是高于或等于发布服务器版本的任何版本(在许多情况下,分发服务器与发布服务器是同一个实例)。
  • 发布服务器的版本可以是低于或等于分发服务器版本的任何版本。
  • 订阅服务器版本取决于发布的类型:
    • 事务性发布的只读订阅服务器版本可以是两个发布服务器版本中的任何一个版本。例如,运行的 SQL Server 7.0 版发布服务器可以对应 SQL Server 2005 订阅服务器,而 SQL Server 2005 发布服务器可以对应 SQL Server 7.0 版订阅服务器。
    • 用于 SQL Server 2005 事务性发布的可更新订阅服务器可以是等于或高于 SQL Server 2000 SP3 的任一版本。
    • 合并发布的订阅服务器版本可以是低于或等于发布服务器版本的任何版本。
ms143699.note(zh-cn,SQL.90).gif注意:
在“安装帮助”文档和 SQL Server 2005 联机丛书中可以查看此主题。对于“安装帮助”文档中显示为粗体文本的主题链接来说,所指向的主题仅在联机丛书中提供。

升级至 Standard Edition、Workgroup Edition 或 Express Edition

在从 SQL Server 2005 的某一版本升级到另一版本之前,请验证要升级到的版本是否支持当前使用的功能。有关详细信息,请参阅主题 SQL Server 2005 的各种版本所支持的功能中的“SQL Server 2005 复制功能”部分。

新的复制代理安全模式

在 SQL Server 的早期版本中,默认情况下,代理在 SQL Server 代理服务帐户的上下文中运行。SQL Server 2005 可以细粒度控制复制代理在其中运行并建立对数据库和其他资源的 Windows 集成连接的每一个帐户;对每个代理,可指定一个不同的帐户。有关详细信息,请参阅复制的安全注意事项复制代理安全性模式

新的安全模式对于在拓扑中升级和运行 SQL Server 的多个版本具有下列含义:

  • 用 SQL Server 2000 或 SQL Server 7.0 创建的复制脚本在用于 SQL Server 2005 时应进行升级,以便利用安全增强功能。有关详细信息,请参阅How to: Upgrade Replication Scripts (Replication Transact-SQL Programming)
  • 从 SQL Server 的早期版本升级到 SQL Server 2005 的分发服务器或订阅服务器在 SQL Server 代理帐户下可继续运行,并且所拥有的权限很可能比需要的多。建议您在升级后,为具有相应最低权限的代理指定单独的帐户。指定单独的帐户:
    1. 编写发布和订阅脚本。
    2. 对脚本进行更改。有关详细信息,请参阅How to: Upgrade Replication Scripts (Replication Transact-SQL Programming)
    3. 删除发布和订阅。有关详细信息,请参阅发布数据和数据库对象订阅发布
    4. 使用修改后的脚本重新创建发布和订阅。
      有关代理所需权限的信息,请参阅复制代理安全性模式;有关管理登录名和密码的信息,请参阅管理复制中的登录名和密码。升级后创建的新复制配置要求每一个复制代理具有特定的帐户配置。
    ms143699.note(zh-cn,SQL.90).gif注意:
    任何配置为使用 SQL Server 身份验证进行本地数据库连接的代理都改用 Windows 身份验证。本地连接是指代理与它所在的同一台计算机上运行的 SQL Server 实例之间建立的连接。例如,请求订阅的合并代理运行在订阅服务器上,因此它与订阅服务器建立的连接是本地连接。
  • 对于运行 SQL Server 早期版本的复制拓扑的参与者,原复制安全模式保持不变。例如:
    • 对运行 SQL Server 2000 或 SQL Server 7.0 的订阅服务器的请求订阅不使用新的安全模式,因为合并代理或分发是在订阅服务器上创建的。
    • 从运行 SQL Server 2005 的分发服务器到运行 SQL Server 2000 或 SQL Server 7.0 的订阅服务器的推送订阅使用新的安全模式,因为合并代理或分发是在分发服务器上创建的。
    • 运行 SQL Server 2000 或 SQL Server 7.0 的发布服务器与运行 SQL Server 2005 的分发服务器一起工作,不使用新安全模式(对于快照代理、日志读取器代理或队列读取器代理),因为代理是在发布数据库的上下文中创建的。

升级合并复制后运行代理

升级后,请为每一个合并发布运行快照代理,并为每一个订阅运行合并代理,以更新复制元数据。因为不必重新初始化订阅,所以不需要应用新快照。升级后首次运行合并代理时,将更新订阅元数据。这表明发布服务器升级时订阅数据库可以保持在线状态和活动状态。

合并复制将发布和订阅元数据存储在发布和订阅数据库中的若干系统表中。运行快照代理将更新发布元数据,而运行合并代理将更新订阅元数据。只需生成发布快照。如果合并发布使用参数化筛选器,则每一个分区也都有快照。不必更新这些分区快照。(在 SQL Server 2000 中,“参数化筛选器**”称为“动态筛选器**”,“分区快照**”称为“动态快照**”)。

从 Microsoft SQL Server Management Studio、复制监视器或命令行运行代理。有关运行快照代理的详细信息,请参阅下列主题:

有关运行合并代理的详细信息,请参阅下列主题:

在使用合并复制的拓扑中升级 SQL Server 之后,如果要使用新功能,请更改所有发布的发布兼容级别。有关详细信息,请参阅在复制拓扑中使用 SQL Server 的多个版本

合并复制的 Web 同步

合并复制的 Web 同步选项要求将 SQL Server 复制侦听器 (replisapi.dll) 复制到用于同步的 Internet 信息服务 (IIS) 服务器上的虚拟目录中。配置 Web 同步时,该文件被配置 Web 同步向导复制到虚拟目录中。若要升级安装在 IIS 服务器上的 SQL Server 组件,则必须将 replisapi.dll 从 COM 目录手动复制到 IIS 服务器上的虚拟目录。有关配置 Web 同步的详细信息,请参阅配置 Web 同步

从早期版本还原复制的数据库

在从早期版本还原复制数据库的备份时,若要确保保留复制设置:请还原到与创建备份的服务器和数据库同名的服务器和数据库。

请参阅

概念

复制的向后兼容性
在复制拓扑中使用 SQL Server 的多个版本

其他资源

管理复制
复制增强
版本升级

帮助和信息

获取 SQL Server 2005 帮助

更改历史记录

发布日期 历史记录

2006 年 7 月 17 日

更改的内容:
  • 添加了发布服务器升级时订阅数据库可能会保持在线状态和活动状态的说明。