如何在MS SQL server 2008群集上打补丁

 

SQL 2008群集和SQL2005群集有了很多不同和改进。其中最明显的区别就是无论是安装还是打补丁SQL 2008群集都要在各个节点上分别挨个的进行。这样在打补丁时,安装顺序就可能令人疑惑。

 

以下将分享如何在两个节点的群集上以缩短系统停机时间为前提来打补丁:

 

最佳实践

------------------

1. 首先在被动节点(passive node)上打补丁,这样做的好处是可以缩短系统停机的时间。如果有多个被动节点,请分别将所有被动节点打完补丁。

2. 一旦被动节点升级成功,我们手动地将SQL Server组故障转移到被动节点上。故障转移后,SQL Server数据库会自动升级。在升级的过程中,SQL Server处于“升级模式”,无法接受连接。但是,群集服务可以智能的辨别出这是一种可忍受的连接错误,所以不会终止SQL Server服务。

3. 原先的主动节点(active node)会变为被动节点。这样,我们就可以继续在这个被动节点上打补丁。停机时间将少于10分钟(即:故障转移时间+数据库升级时间)

 

可选方案

------------------

1. 首先在SQL Server主动节点上打补丁。当安装过程启动后,SQL Server资源将被脱机。

2. 当安装结束后,SQL Server资源将自动恢复在线。同时,SQL Server数据库也将被升级。也就是说,SQL Server会处于“升级模式”,无法接受连接,但是SQL Server资源是在线状态,群集服务仍可以认识到这是一种升级模式而不会因为无法连接而终止服务。

3. 然后,我们将在被动节点上打补丁,升级节点上的SQL二进制文件。

4. 总共的停机时间会比较长,即:在主动节点上打补丁所花的全部时间+数据库升级时间。

 

尽管两种方案都有效,但出于对缩短系统停机时间的考虑,我们建议使用“最佳实践”的方案在SQL server 2008群集上打补丁。同样方案也适用于SQL Server 2008R2的群集。