2

I have set up clustering across two sites, at each site there is a single instance of SQL 2014 enterprise and I am using Availability Groups.

I know I need to set RegisterAllProvidersIP for the AG Network name in order for the listener to check both IP Addresses.

One thing I'm not sure about is if I need to set RegisterAllProvidersIP for the actual cluster name??

Object Name Value Type


??????AG01_??????01 RegisterAllProvidersIP 1 UInt32

Object Name Value Type


Cluster Name RegisterAllProvidersIP 1 UInt32 <-----?????????????

Thanks in advance

1

I believe the RegisterAllProvidersIP is set to 1 automatically when you create the listener. With this setting, all subnets' IP addresses will be attached to the listener name. This is great, unless you're using older clients that do not support the MultiSubnetFailover option. If you do have such clients, you'll end up getting client connection timeouts (in our testing, we have 2 subnets and we'd get 50% connection timeouts).

To work around this (because we have fun legacy code), we set RegisterAllProvidersIP to 0 which only allows the primary node's IP address to register as the listener in DNS. The downfall of this is that we then had to understand DNS replication such that, in the event of a failover, the domain controller may not be in DNS cache (which relies on TTL for when to refresh) so the instance may not be available for a bit after failover, until the cache refreshes. We decided upon a 5 minute HostRecordTTL value (instead of the default 20 minutes) since our second subnet would only be used in a DR exercise or situation and that 5 minutes would be absorbed in the other DR activities.

At any rate, here is how you can get and set those values on the local machine:

Import-Module FailoverClusters
Get-ClusterResource {{name}} | Get-ClusterParameter
  • When creating the listener through SQL Server, it will be set to 1. When manually creating the listener outside of SQL Server (for example, having multiple listeners) it will be the default which is 0. – Sean says Remove Sara Chipps Sep 30 '15 at 17:29
  • thanks for the info. i'm not sold on the multiple listeners per availability group approach (though it appears to be Quiang Wang's preference). – swasheck Sep 30 '15 at 17:54
  • 1
    The biggest win is when there are legacy applications and you don't want to have a "work around" when other applications run with it. I've had the most mileage out of one for legacy and one for newer/supported. – Sean says Remove Sara Chipps Sep 30 '15 at 18:43

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy