Sql-server – SQL Server 2008 upgrade to SQL Server 2012 on a cluster

clusteringsql serversql-server-2008sql-server-2012upgrade

I have a Windows 2008R2 2 node cluster with SQL Server 2008 clustered. How do I prevent the cluster from failing over while I am applying the SQL Server 2012 to the alternate node first? Any pointers on upgrading the SQL Server cluster to 2012?

Best Answer

The Setup.exe will do the dirty work for you and take the passive node (currently upgrading node) away from being a possible owner of the SQL FCI's virtual network name (VNN). But if you want to ensure that this is happening (which I recommend, it's what I always do), then you can manually take the passive node you're about to upgrade off of the possible owners list for the FCI's VNN.

You could use the GUI (failover cluster admin) or PowerShell to accomplish this task. Below is an example of the latter:

Get-Cluster -Name "your cluster name" |
    Get-ClusterGroup -Name "SQL Server (your instance name)" | 
    Get-ClusterResource -Name "SQL Network Name (your FCI's VNN)" | 
    Set-ClusterOwnerNode -Owners "current active node"

All of the parameter strings there need to be specific to your environment. Note, calling Set-ClusterOwnerNode will set the list of possible owners for that cluster resource. Depending on how many nodes are in your cluster, that could contain more than one string (i.e. Set-ClusterOwnerNode -Owners "ACTIVENODE", "SOMEOTHERNODE", "ETC.").

Something to be knowledgeable about, there is a KB for a fix for a failover cluster instance upgrade from SQL Server 2008 [R2] to SQL Server 2012. I recommend you review it before the operation.

As for other tips and tricks, I would recommend you read this BOL reference on upgrading a SQL Server Failover Cluster Instance. There is a lot of great information in that article that should be considered.