Sql-server – Shouldn’t Windows Server Failover Clustering already take care of SQLServer Failover Clustering

clusteringfailoverhigh-availabilitysql server

After reading this question, Are "Always On Failover Cluster Instances" and "SQL Server Failover Clustering" the same thing?

If Windows Server Failover Clustering is installed, why would it not allow failover of SQL server?

What would be the effects of having Windows Server Failover Clustering, without SQL AlwaysOn FailoverClustering? Meaning in case of failover, would the second Sql server node would not operate?

Does this mean AlwaysOn Failover Clustering is an additional Installation package which needs to be installed, because Windows Server Failover Clustering did not do its job correctly?

I always inquired about this, seems like Windows Server Failover Clustering should encompass the whole VM, and not leave SQL server out of the picture.

Best Answer

Let me start by saying there is no "AlwaysON", it was marketing term used by Microsoft to make sure Availability groups technology gets good amount of "talk". They have succeeded and this terminology/technology is hit. It is not called "alwayson availability groups" or "always on" but simply Availability Groups..

MS has confused the terms "Failover cluster" with "AlwaysON failover cluster". In books online they both mean the same but let me point out fine difference. When you deploy SQL Server failover cluster instance (FCI) on Windows Server failover cluster (WSFC), this is called failover clustering, while when you have this but database on failover cluster instance (FCI) is participating in Availability groups (AG) then it is called AlwaysOn failover clustering. I do not prefer using alwayson failover clustering for FCI, simply because AG can be configured without FCI.

Windows Server Failover Clustering is installed, why would it not allow failover of SQL server?

As matter of fact it is WSFC which control failover not the FCI or AG.

What would be the effects of having Windows Server Failover Clustering, without SQL AlwaysOn FailoverClustering? Meaning in case of failover, would the second Sql server node would not operate?

Nothing, Availability groups can be configured without FCI on a simple standalone nodes which are part of WSFC. The failover will be controlled by WSFC and after failover the other node becomes primary and the old one becomes new secondary.

Does this mean AlwaysOn Failover Clustering is an additional Installation package which needs to be installed, because Windows Server Failover Clustering did not do its job correctly?

No. Everything works because of WSFC it is the base on which clustering technology is based. FCI and AG are different things: They both are installed "upon" WSFC. Although starting from SQl Server 2017 and Windows Server 2016 you can have Cluster Less Availability groups.

Does this mean FCI is an additional Installation package which needs to be installed, because Windows Server Failover Clustering (WSFC) did not do its job correctly?

Yes you are correct. To create FCI you need to run SQL Server installation and install SQL Server in cluster aware mode. FCI is used to provide failovers to databases which in turn leverages WSFC feature for failover. It's not SQL Server which does failover, it's WSFC SQL Server which just brings instance online on other node. So saying that WSFC does not do its job is wrong. Like I said WSFC is the base on which FCI and AG run. SQL Server FCI without WSFC cannot do failover.