SQL Server Failover Cluster – Why Current Vote is 0?

sql serverwindows

I set up a 2 node SQL Server Fail-over Cluster Instances. Each node is EC2 instance.
At the moment, under "Cluster core resources", my cluster is online. But one node is online and the other one is offline.

As i checked the Nodes, i noticed that: Both are Up, assigned vote = 1. But one has current vote = 1, the other one has current vote = 0.

If i set a file share witness from 3rd server (the one is outside of cluster and used to manage), the node with current vote = 0 turned to 1.

Why is that?

Best Answer

As i checked the Nodes, i noticed that: Both are Up, assigned vote = 1. But one has current vote = 1, the other one has current vote = 0.

That's dynamic quorum kicking in with a 2 node cluster and no witness. I definitely wouldn't continue to run this way, either add another node or add a witness.

If i set a file share witness from 3rd server (the one is outside of cluster and used to manage), the node with current vote = 0 turned to 1.

This is due to dynamic quorum and dynamic witness kicking in. Dynamic witness says if there are an even number of possible votes, give the witness a vote. If there are an odd number, take the vote away.

Since you have two nodes each with a possible vote (assigned = 1) then there are an even number of possible votes. Thus, dynamic witness says the witness must have a vote to make it an odd number. Dynamic quorum then says that it feels the best way to set the dynamic weights so that the cluster has the best uptime is to set all votes to 1.

Dynamic quorum is in WS2012 and newer, it can be turned off but is on by default. Dynamic witness is in WS2012R2 and newer, it cannot be turned off.