将 SQL Server 2000 日志传送配置迁移到 SQL Server 2005
不能直接将 SQL Server 2000 日志传送配置升级到 SQL Server 2005。在 SQL Server 2000 中进行日志传送所需的数据库维护计划向导不能用作 SQL Server 2005 中的日志传送配置的一部分。因此,将服务器升级到 SQL Server 2005 之后,日志传送将无法正常工作。
可以在保持主数据库与辅助数据库同步的同时,迁移 SQL Server 2000 日志传送配置。本主题介绍了执行此操作的两种方法:
- 执行带故障转移的迁移可以在升级日志传送配置中的每个服务器时保持数据库的可用性。此过程需要将 SQL Server 2000 日志传送配置设置为允许故障转移。
- 执行不带故障转移的迁移是一个比较简单的过程,在此过程中无需故障转移到辅助服务器。如果执行此过程,则将主服务器升级到 SQL Server 2005 时,日志传送数据库将不可用。
一旦将日志传送配置迁移到 SQL Server 2005 后,就可以删除由 SQL Server 2000 日志传送创建的表和 SQL Server 代理作业。
限制
在 SQL Server 2000 日志传送配置迁移至 SQL Server 2005 之后,辅助数据库将无法处于备用模式下。
执行带故障转移的迁移
若要保持 SQL Server 2000 日志传送配置的高可用性,可以使用日志传送提供的故障转移功能来使数据库保持联机状态。
执行带故障转移的迁移将在升级辅助服务器实例期间将主服务器实例暂时保留为 SQL Server 原始版本的实例。升级服务器实例仅会升级联机数据库。脱机数据库(例如日志传送辅助数据库)仍然是 SQL Server 原始版本的数据库。只要数据库保持脱机状态,就可以还原 SQL Server 原始版本的日志备份。因此,日志传送可以继续将日志备份从主数据库还原到辅助数据库,直到故障转移将辅助数据库作为新的主数据库使其联机。
为了成功完成此过程,必须在 SQL Server 2000 上对日志传送进行配置,并且该配置必须允许在主数据库与辅助数据库之间进行故障转移。为了清楚起见,此过程用 Server A 来指代 SQL Server 2000 日志传送主服务器实例,而用 Server B 来指代 SQL Server 2000 日志传送辅助服务器实例。
- 将 Server B 升级到 SQL Server 2005。升级 Server B 后,日志传送数据库仍然是 SQL Server 2000 数据库,因为它处于脱机状态。此数据库将在下一步升级。
注意: 此时,用户可以继续访问 Server A 上的主数据库。 - 通过从 Server A 上的主数据库应用所有必要的事务日志并使用 NORECOVERY 备份主数据库,从 Server A 向 Server B 进行故障转移。使 Server B 上的辅助数据库联机时,它将自动升级为 SQL Server 2005 数据库。数据库升级过程将被完整地记录下来。
注意: 升级 Server B 上的日志传送数据库后,用户即可使用该数据库。但是,在 Server B 上配置 SQL Server 2005 日志传送之前,Server B 上数据库的日志备份无法应用于 Server A 上的数据库。 - 将 Server A 升级到 SQL Server 2005。日志传送数据库仍然是 SQL Server 2000 数据库,因为它处于脱机状态。
- 在 Server B 上配置 SQL Server 2005 日志传送,将 Server B 作为主服务器,而将 Server A 作为辅助服务器。开始向 Server A 传送事务日志后,当应用了第一个日志备份时,Server A 上的日志传送数据库将升级为 SQL Server 2005 数据库。
在 Server B 上配置日志传送时,请确保在**“辅助数据库设置”对话框的“初始化辅助数据库”选项卡上指定“否,辅助数据库已初始化”**选项。有关详细信息,请参阅如何启用日志传送 (SQL Server Management Studio)。 - (可选)若要使 Server A 重新成为主服务器,则故障转移到 Server A。有关详细信息,请参阅交换主服务器和辅助服务器的角色。
执行不带故障转移的迁移
可以将 SQL Server 2000 日志传送配置迁移到 SQL Server 2005,而无需使用故障转移。执行此过程可以轻松地同时升级日志传送配置中的两个服务器实例。但是,在将主服务器实例升级到 SQL Server 2005 时,主数据库不可用。
- 将辅助服务器实例升级到 SQL Server 2005。升级辅助服务器实例后,日志传送数据库仍然是 SQL Server 2000 数据库,因为它处于脱机状态。
- 将主服务器升级到 SQL Server 2005。在升级过程中,主服务器不可用。
- 配置从主服务器实例到辅助服务器实例的日志传送。请确保在**“辅助数据库设置”对话框的“初始化辅助数据库”选项卡上指定“否,辅助数据库已初始化”**选项。有关详细信息,请参阅如何启用日志传送 (SQL Server Management Studio)。
重要提示: 指定 SQL Server 2000 日志传送配置所使用的同一备份共享。这样可确保在 SQL Server 2005 中启用日志传送时,所有日志备份都能正确地应用于辅助数据库。
重新部署日志传送
如果不想使用上述过程之一迁移日志传送配置,可以通过使用主数据库的完整备份和恢复来重新初始化辅助数据库,从而从头开始重新部署日志传送。如果数据库较小,或者在升级过程中高可用性并不是至关重要的,此方法将是个不错的选择。
有关使用 SQL Server Management Studio 启用日志传送的信息,请参阅如何启用日志传送 (SQL Server Management Studio)。
有关使用 Transact-SQL 启用日志传送的信息,请参阅如何启用日志传送 (Transact-SQL)。
删除 SQL Server 2000 日志传送表和作业
部署了新的日志传送配置之后,可以删除仍位于计算机上的 SQL Server 2000 日志传送表和作业。
SQL Server 2005 不会使用 SQL Server 2000 所使用的任何日志传送表。因此,将服务器升级到 SQL Server 2005 之后,可以删除这些表:
- log_shipping_databases
- log_shipping_monitor
- log_shipping_plan_databases
- log_shipping_plan_history
- log_shipping_plans
- log_shipping_primaries
- log_shipping_secondaries
还可以删除由 SQL Server 2000 创建的任何日志传送 SQL Server 代理作业。