【IT168 技术文档】SQL Server 2008 支持从 SQL Server 的早期版本升级复制数据库;在升级某一节点时,不需要停止其他节点的活动。请务必遵守有关拓扑中支持哪些版本的规则:
SQL Server 2000 Service Pack 3 (SP3) 是参与 SQL Server 2008 的复制拓扑必需的最低版本。如果使用的是 SQL Server 2005,则没有必需的最低版本。
分发服务器的版本可以是高于或等于发布服务器版本的任何版本(在许多情况下,分发服务器与发布服务器是同一个实例)。
发布服务器的版本可以是低于或等于分发服务器版本的任何版本。
订阅服务器版本取决于发布的类型:
用于事务发布的订阅服务器版本可以是两个发布服务器版本中的任何一个版本。例如,SQL Server 2000 发布服务器可以对应 SQL Server 2008 订阅服务器,而 SQL Server 2008 发布服务器可以对应 SQL Server 2000 订阅服务器。
合并发布的订阅服务器版本可以是低于或等于发布服务器版本的任何版本。
注意:
在“安装帮助”文档和 SQL Server 联机丛书中可以查看此主题。对于“安装帮助”文档中显示为粗体文本的主题链接来说,所指向的主题仅在联机丛书中提供。
在升级前先运行用于事务复制的日志读取器代理
升级到 SQL Server 2008 之前,必须确保已发布表的所有已提交事务已由日志读取器代理进行了处理。若要确保所有事务均得到处理,请针对包含事务发布的每个数据库执行以下步骤:
确保针对数据库运行了日志读取器代理。默认情况下,该代理会连续运行。
停止已发布表上的用户活动。
日志读取器代理和分发代理支持事务读取和提交操作的批大小。
执行 sp_replcmds 以验证所有事务是否得到了处理。此过程的结果集应为空。
执行 sp_replflush 以关闭与 sp_replcmds 的连接。
将服务器升级到 SQL Server 2008。
如果在升级后 SQL Server 代理和日志读取器代理没有自动启动,请重新启动它们。
升级后运行用于合并复制的代理
升级后,请为每一个合并发布运行快照代理,并为每一个订阅运行合并代理,以更新复制元数据。因为不必重新初始化订阅,所以不需要应用新快照。升级后首次运行合并代理时,将更新订阅元数据。这表明发布服务器升级时订阅数据库可以保持在线状态和活动状态。
合并复制将发布和订阅元数据存储在发布和订阅数据库中的若干系统表中。运行快照代理将更新发布元数据,而运行合并代理将更新订阅元数据。只需生成发布快照。如果合并发布使用参数化筛选器,则每一个分区也都有快照。不必更新这些分区快照。(在 SQL Server 2000 中,“参数化筛选器”称为“动态筛选器”,“分区快照”称为“动态快照”)。
从 SQL Server Management Studio、复制监视器或命令行运行代理。
在使用合并复制的拓扑中升级 SQL Server 之后,如果要使用新功能,请更改所有发布的发布兼容级别。
升级至 Standard Edition、Workgroup Edition 或 Express Edition在从 SQL Server 2008 的某一版本升级到另一版本之前,请验证要升级到的版本是否支持当前使用的功能。