Microsoft SQL Server 2012 AlwaysON Availability Group MultiSubnet Listener
I’ve been recently involved in a project where I had to transition a Microsoft SQL environment from 2008 R2 to 2012 and change from the normal SQL cluster to the new AlwaysOn availability group module.
After performing the transition and we’ve up the local listener and the disaster site listener we came to an issue where the DR listener was registering with the DNS server and it was causing the user to time out because the DR listener is offline surely because the main listener in the cluster is up.
To resolve this you have two options:
- The application which is communicating with the MSSQL servers must be cluster aware.
- You must disable the DNS registration for that cluster resource and as such when you decide to fail-over to the DR you must register the DNS name yourself.
So in my case because the application was not cluster aware I had to remove the DNS registration following this Microsoft KB article http://support.microsoft.com/kb/2792139 but they didn’t mention in the KB that the parameter doesn’t exist by default it and must be created.
Hereunder are the simple steps that gets things done:
- Launch PowerShell
- Type: Get-ClusterResource
- After verifying the DR listener name tyoe: Get-ClusterResource INSTANCEResource/Listener | Get-ClusterParameter
- If you verify that the parameter RegisterAllProvidersIP exists type: Get-ClusterResource INSTANCEResource/Listener | Set-ClusterParameter –Name RegisterAllProvidersIP 0
- If you verify that the parameter RegisterAllProvidersIP doesn’t exist type: Get-ClusterResource INSTANCEResource/Listener | Set-ClusterParameter –Create RegisterAllProvidersIP 0
Cleanup the additional DNS entry and you’re good to go.
I hope this help :).