技术开发 频道

将SQL Server 2005日志传送升级到SQL Server 2008

  【IT168 技术文档】从SQL Server 2005 升级到 SQL Server 2008 时有可能保留日志传送配置。本主题介绍升级日志传送配置的备用方案和非常好的实践。

  注意:
  SQL Server 2008 Enterprise 中引入了备份压缩。升级后的日志传送配置使用备份压缩默认的服务器级配置选项控制是否对事务日志备份文件使用备份压缩。可以为每个日志传送配置指定日志备份的备份压缩行为。

  在升级前保护好您的数据

  建议您最好在日志传送升级之前保护好您的数据。

  保护数据

  对各个主数据库执行完整数据库备份。

  升级监视服务器实例 
 
  监视服务器实例(如果存在)可随时升级。

  升级监视服务器时,日志传送配置仍将有效,但其状态不会记录在监视器上的表中。监视服务器正在升级期间,已配置的任何警报都不会触发。升级完毕后,可以通过执行 sp_refresh_log_shipping_monitor (Transact-SQL) 系统存储过程来更新监视器表中的信息。

  对具有单一辅助服务器的配置进行升级的过程 

  本节讲述的升级过程适用于由主服务器和唯一一个辅助服务器组成的配置。下图显示了此配置,其中 A 为主服务器实例,B 为单一辅助服务器实例。


 

  升级辅助服务器实例

  升级主服务器实例之前的升级过程包括将辅助服务器实例的日志传送配置从 SQL Server 2005 升级到 SQL Server 2008。辅助服务器实例必须总是先于主服务器实例升级。由于在较新版本的 SQL Server 中创建的备份无法在较旧版本的 SQL Server 中还原,所以如果主服务器先于辅助服务器升级,将导致日志传送失败。

  由于升级后的辅助服务器继续还原 SQL Server 2005 主服务器的日志备份,因此日志传送在整个升级过程中都不间断。升级辅助服务器实例的过程部分取决于日志传送配置是否具有多个辅助服务器。

  辅助服务器实例正在升级期间,日志传送复制和还原作业不运行,因此未还原的事务日志备份将累积。累积的数量取决于主服务器上进行计划备份的频率。此外,如果还配置了单独的监视服务器,则若未执行还原的时间超过了所配置的时间间隔,就会引发警报。

  辅助服务器升级完毕后,日志传送代理作业即开始继续复制和还原主服务器实例(服务器 A)的日志备份。辅助服务器使辅助数据库达到最新所需的时间会有所不同,具体情况取决于升级辅助服务器占用的时间和主服务器上进行备份的频率。

  注意:
  服务器升级期间,辅助数据库不会升级到 SQL Server 2008 数据库。只有联机时它才会升级。

  升级主服务器实例

  计划升级时,需要考虑的一个重要事项是数据库将处于不可用状态的时间。最简单的升级方案(下文的方案 1)将使得数据库在主服务器升级期间不可用。

  如果能在升级原始主服务器之前将 SQL Server 2005 主服务器故障转移到 SQL Server 2008 辅助服务器(下文的方案 2),则可以最大限度地提高数据库的可用性,但这样做会加大升级过程的复杂程度。故障转移方案有两种不同的形式。一种是切换回原始主服务器并保持原始日志传送配置。另一种是在升级原始主服务器之前删除原始日志传送配置,随后使用新的主服务器创建新配置。上述各个方案在本主题中都有介绍。

  重要提示:
  一定要先升级辅助服务器实例,然后再升级主服务器实例。

  方案 1:不借助故障转移升级主服务器实例

  这个方案比较简单,但导致的停机时间要比使用故障转移时间长。主服务器实例进行简单的升级,数据库在升级期间不可用。

  服务器升级完毕后,数据库即自动回到联机状态,随即进行升级。数据库升级完毕后,日志传送作业将继续进行。

  方案 2:借助故障转移升级主服务器实例

  此方案最大限度地提高了可用性,同时使停机时间降低到最短。此方案采取向辅助服务器实例实行受控故障转移的方式,使数据库在原始主服务器实例升级期间保持可用状态。停机时间限于故障转移所需的相对短的时间,而不是升级主服务器实例所需的时间。

  借助故障转移升级主服务器实例一般需要三个过程:执行到辅助服务器的受控故障转移,将原始主服务器实例升级到 SQL Server 2008,在 SQL Server 2008 主服务器实例上设置日志传送。本节后面将对这三个过程进行介绍。

  重要提示:
  如果计划使辅助服务器实例成为新的主服务器实例,则需要删除日志传送配置。原始主服务器实例升级完毕后,需要重新配置从新的主服务器实例到新的辅助服务器实例的日志传送。

  过程 1.执行到辅助服务器的受控故障转移

  到辅助服务器的受控故障转移:

  对于指定 WITH NORECOVERY 的主数据库上的事务日志,手动执行结尾日志备份。此日志备份捕获任何尚未备份的日志记录并使数据库脱机。请注意:数据库脱机期间,日志传送备份作业将失败。

  下面的示例在主服务器上创建 AdventureWorks 数据库的一个结尾日志备份。此备份文件名为 Failover_AW_20080315.trn:

BACKUP LOG AdventureWorks
TO DISK = N'\\FileServer\LogShipping\AdventureWorks\Failover_AW_20080315.trn'
WITH NORECOVERY;
GO

  建议您使用非重复的文件命名约定区分手动创建的备份文件和日志传送备份作业创建的备份文件。

0
相关文章