Introducing Cloud Witness – [SQL Server]

We know that when we create a Cluster environment between two sites, we must take care about Quorum Witness.
If you need automatic failover SLA in your company, the best way is to separate the (Quorum) FileShare Quitness at a third site. So it is not lost if one of the other two sites has problems.

But, What if you dont have the third site?

Now, It’s possible using Cloud Witness. A new type of Failover Cluster quorum witness with Windows Server 2012 R2.
Follow the link below to an article with steps required to configure it.

How to validate Quorum Vote from Windows server Failover Cluster (AlwaysOn)

If you have configured a Windows server Failover Cluster with more than two Nodes, you must care about the “votes” in each Node.

Let’s imagine the following scenario:

You have two Nodes configured in Automatic Failover/Synchronous mode with AlwaysOn Availability Group.
Another Node in Manual Failover/Asynchronous as a Reporting Service.

So, you have 3 Nodes where each one is counting one vote, and another one as a FileShare. (Quorum configured during the Alwayson installation).

You should always have an odd number of quorum votes in your WSFC cluster. For the purposes of quorum voting, SQL Server does not have to be installed on all nodes in the cluster. An additional server can act as a quorum member, or the WSFC quorum model can be configured to use a remote file share as a tie-breaker.

For more information, see: WSFC Quorum Modes and Voting Configuration (SQL Server)

In other words, if your FileShare and Reporting Service are not available, your production environment will go down. It’s not a good idea, right?

To fix it, you must Install the hotfix KB2494036 in each Node.
This hotfix is available to allow you to configure a cluster node that does not have quorum vote in Windows Server 2008 and 2008 R2.

Now, you are able to remove the quorum vote from Reporting Services environment with the script below on cmd:

Cluster.exe . node SERVERNAME /prop NodeWeight=0

To validate Quorum vote, take a look at the following scripts

Management Studio

SELECT  member_name, member_state_desc, number_of_quorum_votes
 FROM   sys.dm_hadr_cluster_members;


Import-Module FailoverClusters
$cluster = "CLUSTERNAME"
$nodes = Get-ClusterNode -Cluster $cluster
$nodes | Format-Table -property NodeName, State, NodeWeight

I hope this could help you. See ya!