SQL Server Availability Groups – Strange Cluster Name in Cluster Events Error

availability-groupssql server

I need some help please.

I have a 2-node Windows cluster configured with WSFC (cluster name = ABCCluster).
Node 1 named Node1
Node 2 named Node2

SQL 2019 instance installed and named INSTANCE
Availability Group configured and named INSTANCE_AG
Availability Group listener prestaged and named AGL_INSTANCE

In Failover Cluster Manager, Cluster Events, I get following error:

Cluster network name resource failed registration of one or more associated DNS names(s) because the access to update the secure DNS Zone was denied.
Cluster Network name: 'INSTANCE_AG_AGL_INSTANCE'
DNS Zone: 'our.domain.com'
Ensure that cluster name object (CNO) is granted permission to the Secure DNS Zone

Question 1:
Where has that strange Cluster name come from i.e. 'INSTANCE_AG_AGL_INSTANCE'? The cluster name in Failover Cluster Manager is ABCCluster

Question 2:
The prestaged listener name has been attached to that strange cluster name, has prestaging the listener got anything to do with this error message?

Question 3:
As it is now, automatic failover for the AG happened from Node1 replica to Node2 replica when I stopped the SQL service on Node1 (which was previously the primary replica in the AG). However, when I stop the service on Node2, it doesn't failover automatically back to Node1. Node1 rather stays in 'RESOLVING' state for some time until the SQL service is started back on Node2 and then the Node1 replica resolves as 'secondary'. So, I have only a one-directional automatic failover.

I would appreciate any ideas on what I'm doing wrong please.

Thank you

Best Answer

Question 1: Where has that strange Cluster name come from i.e. 'INSTANCE_AG_AGL_INSTANCE'? The cluster name in Failover Cluster Manager is ABCCluster

This is the name of the network name resource created for the listener, this shows you used the wizard to create the listener as the wizard uses the naming convention of #AGName#_#DNSName#. You can create your own and name it how you like without using the wizard. Up to you, this has no bearing on anything, really.

Example: The network name resource has the value of AG3_AG3Listener but that's not the DNS name or the computer object name in AD (as the DNS name and CO name must be the same). You'll notice (I created it with the wizard to show the point) that the naming convention is AGName_ListenerName as the "Name" of the resource in the cluster. cluster resource name

Question 2: The prestaged listener name has been attached to that strange cluster name, has prestaging the listener got anything to do with this error message?

The listener dns name is a property of the cluster resource. The cluster resource has its own name, which is this name. These two are not the same thing.

Example: From the above example, here is what the actual DNS and computer object names in AD are.

dns name

Question 3: As it is now, automatic failover for the AG happened from Node1 replica to Node2 replica when I stopped the SQL service on Node1 (which was previously the primary replica in the AG). However, when I stop the service on Node2, it doesn't failover automatically back to Node1. Node1 rather stays in 'RESOLVING' state for some time until the SQL service is started back on Node2 and then the Node1 replica resolves as 'secondary'. So, I have only a one-directional automatic failover.

Look at your cluster logs, they will tell you why. Since it's a 2 node cluster, chances are you're just hitting the 1 (N-1 failovers by default) failover that you have and thus the cluster says, nope, you hit your configured limit so I'm not failing that over again. This can be changed and is user configurable for number of failures and time period.

Powershell, showing the defaults are set: powershell failover defaults

FCM (GUI) of the same information: gui failover defaults