When it comes to upgrading a SQL Server failover cluster, there are certain considerations and steps that need to be followed to ensure a smooth transition. One important aspect of this process is understanding the concept of FAILOVERCLUSTERROLLOWNERSHIP.
FAILOVERCLUSTERROLLOWNERSHIP is a parameter that controls the failover behavior of cluster nodes during the upgrade process. It allows you to specify whether cluster ownership should be rolled to the upgraded nodes and whether the upgraded nodes should be added to the possible owners of the SQL Server cluster.
There are three possible values for the FAILOVERCLUSTERROLLOWNERSHIP parameter:
- /FAILOVERCLUSTERROLLOWNERSHIP=0: This value indicates that cluster ownership should not be rolled to the upgraded nodes. The upgraded nodes will not be added to the possible owners of the SQL Server cluster.
- /FAILOVERCLUSTERROLLOWNERSHIP=1: This value indicates that cluster ownership should be rolled to the upgraded nodes, if it has not already happened. The upgraded nodes will be added to the possible owners of the SQL Server cluster.
- /FAILOVERCLUSTERROLLOWNERSHIP=2: This is the default setting. It allows the SQL Server setup to manage the cluster ownership as needed.
It is important to note that the failover behavior of cluster nodes during the upgrade process can only be controlled through the command line. There is no option to control it through the UI.
When upgrading a SQL Server failover cluster, it is recommended to start the setup from the command line and specify the appropriate FAILOVERCLUSTERROLLOWNERSHIP value. This will ensure that the failover behavior is in line with your requirements.
By default, as you upgrade each node, it is left out of the possible owners of the failover cluster. If there is an unexpected failover, the upgraded nodes do not participate in the failover until cluster resource group ownership is moved to an upgraded node by SQL Server Setup. When half of the nodes or more have already been upgraded, Setup causes a failover to an upgraded node when you perform upgrades on the next node. This process results in limited downtime during the whole failover cluster upgrade.
Have you ever performed a rolling upgrade on your SQL Server failover cluster? What options did you use for the FAILOVERCLUSTERROLLOWNERSHIP parameter? Share your experiences and insights in the comments below!