如何在系统上安装 Service Pack 并且尽量缩短镜像数据库停机时间
本主题介绍了如何在安装 Service Pack 和修补程序时尽量减少镜像服务器的停机时间。此过程包括按顺序升级参与数据库镜像的 SQL Server 2008 R2 实例。这种称作“滚动升级”的升级形式将停机时间减少为只进行一次故障转移的时间。请注意,对于镜像服务器与主体服务器在地理位置上有一定距离的高性能模式会话而言,滚动升级可能不适合。
滚动升级是包含下列阶段的一个多阶段过程:
保护数据。
如果会话包括见证服务器,建议您删除见证服务器。否则,在升级镜像服务器实例时,数据库的可用性将取决于仍然连接至主体服务器实例的见证服务器。删除见证服务器之后,可以在滚动升级过程中随时对其进行升级,而不会有数据库停机的风险。
注意 有关详细信息,请参阅仲裁:见证服务器如何影响数据库可用性。
如果会话在高性能模式下运行,则将运行模式更改为高安全模式。
升级数据库镜像中涉及的每个服务器实例。滚动升级包括升级当前作为镜像服务器的服务器实例,对其每个镜像数据库进行手动故障转移以及升级最初作为主体服务器(现在作为新镜像服务器)的服务器实例。此时,必须继续镜像。
注意 在开始滚动升级之前,建议您至少对一个镜像会话执行实际手动故障转移。
如有必要,则恢复为高性能模式。
如有必要,则将见证服务器返回镜像会话。
下面将介绍各个阶段的过程。
重要提示 |
---|
在并发镜像会话中,一个服务器实例可能扮演不同的镜像角色(主体服务器、镜像服务器或见证服务器)。在这种情况下,必须相应地调整基本滚动升级过程。有关详细信息,请参阅数据库镜像会话。 |
在升级之前保护数据(最佳做法)
对每个主体数据库执行完整数据库备份。
备份数据库
在每个主体服务器上运行 DBCC CHECKDB 命令。
从会话中删除见证服务器
如果镜像会话包括见证服务器,则建议您在执行滚动升级之前删除该见证服务器。
删除见证服务器
将会话从高性能模式更改为高安全模式
如果镜像会话在高性能模式下运行,则在执行滚动升级之前,将运行模式更改为不带自动故障转移功能的高安全模式。使用下列方法之一:
在 SQL Server Management Studio 中:使用**“数据库属性”对话框中的“镜像”页将“操作模式”选项更改为“不带自动故障转移功能的高安全(同步)”**。有关如何访问此页的信息,请参阅如何启动配置数据库镜像安全向导 (SQL Server Management Studio)。
在 Transact-SQL 中:将事务安全设置为 FULL。有关详细信息,请参阅 如何更改数据库镜像会话中的事务安全 (Transact-SQL)。
注意 有关详细信息,请参阅 Transact-SQL 设置和数据库镜像运行模式。
执行滚动升级
为了最大限度地减少停机时间,我们建议:通过更新任何当前在其所有镜像会话中均为镜像服务器的镜像伙伴,开始滚动升级。此时,可能需要更新多个服务器实例。
注意 在滚动升级过程中可以随时升级见证服务器。例如,如果某个服务器实例在会话 1 中为镜像服务器,在会话 2 中为见证服务器,则可以立即升级此服务器实例。
要首先升级的服务器实例是由镜像会话的当前配置决定的,如下所示:
如果有任何服务器实例已经是其所有镜像会话中的镜像服务器,则在该服务器实例上安装 Service Pack 或修补程序。
如果在任何镜像会话中所有服务器实例当前都是主体服务器,则选择一个服务器实例首先升级。然后,对其每个主体数据库进行手动故障转移,并通过安装 Service Pack 或修补程序来升级该数据库实例。
升级完成后,服务器实例将自动重新加入其每个镜像会话。
执行手动故障转移
有关手动故障转移工作原理的信息,请参阅手动故障转移。
对于其镜像服务器实例刚完成升级的每个镜像会话,请等待会话进行同步。然后,连接到主体服务器实例并对会话进行手动故障转移。故障转移后,已升级的服务器实例成为该会话的主体服务器,而以前的主体服务成为镜像服务器。
此步骤的目的是让其他服务器实例在其作为伙伴的每个镜像会话中成为镜像服务器。
完成故障转移后,我们建议您在主体数据库上运行 DBCC CHECKDB 命令。
对于在其作为伙伴的所有镜像会话中目前为镜像服务器的每个服务器实例,在该服务器实例上安装 Service Pack 或修补程序。此时,可能需要更新多个服务器。
重要提示 在复杂的镜像配置中,某个服务器实例在一个或多个镜像会话中可能仍作为原始主体服务器。对这些服务器实例重复步骤 2-4,直至涉及的所有实例均已升级。
继续镜像会话。
注意 升级完见证服务器后,自动故障转移功能才会起作用。
对于在其所有镜像会话中为见证服务器的任何剩余服务器实例,在该服务器实例上安装 Service Pack 或修补程序。在已升级的见证服务器重新加入镜像会话之后,自动故障转移功能将重新变为可用。此时,可能需要更新多个服务器。
将会话恢复为高性能模式
可以选择使用下列方法之一返回高性能模式:
在 SQL Server Management Studio 中:使用**“数据库属性”对话框中的“镜像”页将“操作模式”选项更改为“高性能(同步)”**。
在 Transact-SQL 中:使用 ALTER DATABASE 将事务安全性设置为 OFF。
将见证服务器返回镜像会话
在高安全模式下,可以选择让见证服务器重新回到每个镜像会话中。
返回见证服务器