Sql-server – How to stop all nodes on FCI SQL server

clusteringfailoversql server

My Setup: We have two nodes SQL setup with Active/Passive Windows Failover Cluster instance.

My Goal: To stop the running SQL Server service on the active node and prevent failover from happening for a period of time and then bring them back online again.

I'm using Windows Failover Cluster Manager and after doing quite a bit of research I see the following options available to me and how I think each of these options mean.

  1. Drain Role – Done at node level to remove all running roles out of a
    node, essentially pausing it on a cluster and is useful when you want
    to patch or take specific node in a cluster offline.
  2. Stop Role
    Done at Role level to take the FCI server offline and prevent
    failover capability on all nodes belong in this specific Role.
  3. Shut
    Down Cluster
    – Done on the cluster group level, it is similar to
    Stop Role except it stops all roles.
  4. Stop Cluster Service – Done at
    node level, similar to Drain Role????

Can you verify if what I wrote based on my understanding for these are correct?

So if I want to shut off my active/passive FCI SQL Server service, I plan to do the following, are the steps correct?

Bring down FCI SQL Server services:

  • Stop Role on the role that runs my SQL FCI to prevent failover
    between active/passive node.
  • Shut off SQL Server services using the Windows
    services window on the Active Node.

Bring up FCI SQL Server Services:

  • Turn on SQL Server service using window services on one of the node I want
    to be active.
  • Start Role on the role that run my SQL Server FCI.

Another option I could think off but unsure its validity, basically i'm stopping the SQL service and at the same time refuse it to have the ability to failover to another node.

Stop the cluster service on my "Passive" node.
Stop the SQL Server service on my "Active" node.

Best Answer

So if I want to shut off my active/passive FCI SQL service, I plan to do the following, are the steps correct?

The only steps you need are these:

Bring down FCI SQL services:

  • Stop Role on the role that runs my SQL FCI to prevent failover between active/passive node.

Bring up FCI SQL Services:

  • Start Role on the role that run my SQL FCI.

With these you can properly manage the role services to be stopped like you need with the least impact. Once the role is stopped you can check on services.msc that SQL Server service stopped if you wanna be sure. It might take some time for that to happen because the service is going to stop gracefully, so wait until the role appears as stopped.

Another option I could think off but unsure its validity, basically i'm stopping the SQL service and at the same time refuse it to have the ability to failover to another node.

If you manipulate the services like this from windows services instead of using the Failover Cluster Manager, it's gonna be like fighting against the cluster: you trying to bring the services down and the cluster trying to keep them up.