在辅助服务器上:
确保日志传送备份作业自动进行的所有备份都已应用。若要检查哪些备份作业已应用,请使用监视服务器或主服务器和辅助服务器上的 sp_help_log_shipping_monitor (Transact-SQL) 系统存储过程。同一文件应在 last_backup_file、last_copied_file 和 last_restored_file 这三列中列出。如果尚未复制和还原任何备份文件,则请手动调用代理复制和还原作业以进行日志传送配置。
将您在第一步中创建的最后一个日志备份文件从文件共享复制到辅助服务器上的日志传送使用的本地位置。
还原指定 WITH RECOVERY 的最后一个日志备份以使数据库联机。数据库联机的同时将升级到 SQL Server 2008。
下面的示例还原辅助数据库中的 AdventureWorks 数据库的结尾日志备份。此示例使用 WITH RECOVERY 选项,该选项将使数据库联机:
FROM DISK = N'c:\logshipping\Failover_AW_20080315.trn'
WITH RECOVERY;
GO
注意:
对于包含多个辅助服务器的配置,还有额外的注意事项。
将客户端从原始主服务器(服务器 A)重定向到联机辅助服务器(服务器 B),以对数据库进行故障转移。
请注意:辅助数据库在处于联机状态时,它的事务日志并未填满。若要阻止事务日志填满,可能需要备份此日志。如果是这样,建议您将它备份到共享位置,即备份到“备份共享”,以便在其他服务器实例上可以还原这些备份。
过程 2.将原始主服务器实例升级到 SQL Server 2008
将原始主服务器实例升级到 SQL Server 2008 后,数据库仍将处于脱机状态且仍采用 SQL Server 2005 格式。
过程 3.在 SQL Server 2008 上设置日志传送
剩余的升级过程取决于是否仍配置日志传送,如下所述:
如果保留了 SQL Server 2005 日志传送配置,则请切换回原始主服务器实例。
如果在进行故障转移之前删除了日志传送配置,则请创建一个新的日志传送配置,其中原始辅助服务器实例是新的主服务器实例。
切换回原始主服务器实例
在临时主服务器(服务器 B)上使用 WITH NORECOVERY 备份日志尾部,以创建结尾日志备份并使数据库脱机。该结尾日志备份命名为 Switchback_AW_20080315.trn。例如:
TO DISK = N'\\FileServer\LogShipping\AdventureWorks\Switchback_AW_20080315.trn'
WITH NORECOVERY;
GO
如果任何事务日志备份都是在临时主数据库上进行的,则将那些使用 WITH NORECOVERY 的日志备份(不包括在第一步中创建的结尾备份)还原到原始主服务器(服务器 A)上的脱机数据库。第一个日志备份还原后,数据库即升级到 SQL Server 2008 格式。
在原始主数据库上(即在服务器 A 上)使用 WITH RECOVERY 还原结尾日志备份 Switchback_AW_20080315.trn,从而使数据库联机。
将客户端从原始主服务器重定向到联机辅助服务器,从而故障转移回原始主数据库(位于服务器 A 上)。
数据库联机后,原始日志传送配置将恢复。
将原来的辅助服务器实例作为新的主服务器实例
按照下面所述建立新的日志传送配置,其中原来的辅助服务器实例 B 用作主服务器,而原来的主服务器实例 A 用作新的辅助服务器:
重要提示:
在此过程开始时且在进行使数据库脱机的手动事务日志备份之前,应该已从原始主服务器上删除原来的日志传送配置。
若要避免对新的辅助服务器(服务器 A)上的数据库执行完整的备份和还原,请将新的主数据库的日志备份应用到新的辅助数据库。在示例配置中,这包括将在服务器 B 上进行的日志备份还原到服务器 A 上的数据库。
备份新的主数据库(位于服务器 B 上)的日志。
使用 WITH NORECOVERY 将日志备份还原到新的辅助服务器实例(服务器 A)。第一个还原操作将数据库升级到 SQL Server 2008。
配置日志传送,使原来的辅助服务器(服务器 B)作为主服务器实例。
重要提示:
如果使用 SQL Server Management Studio,请指定辅助数据库已初始化。
将客户端从原始主服务器(服务器 A)重定向到联机辅助服务器(服务器 B),以对数据库进行故障转移。
重要提示:
故障转移到新的主数据库时,应确保其元数据与原始主数据库的元数据一致。