AlwaysOn Availability Group listener name - can it refer to a subdomain

  • Hi there
    We are in the process of creating an AlwaysOn availability group for an active system, to provide DR. Currently, there is a DNS CName alias set up for the existing SQL instance, for example, MyProdAlias.sql.domain.com. The .sql part is just a subdomain within DNS which our infrastructure guys set up just as a container for SQL servers. So although the server resides in domain.com, for all our sql servers, you actually have to append the server alias with sql.domain.com or it wont resolve (historical, i wasn't here when it was all set up - creates confusion/extra work in my opinion).

    In any case, as part of the AlwaysOn set up, I want the listener to replace the CName alias, so that all applications using the active SQL instance will refer to the listener name. I want the listener name to be the same as the CName so that the applications do not have to be updated. So the listener should be MyProdAlias.sql.domain.com. I cannot simply set up the listener as MyProdAlias, else there will be two DNS entries, one as MyProdAlias.sql.domain.com and the other as MyProdAlias. Not what we want obviously.

    As I am not a Domain Admins, I have been setting up the listener in AD by 'prestaging the VCO' according to the documentation here:
    https://technet.microsoft.com/en-us/library/dn466519(v=ws.11).aspx
    http://www.tech-coffee.net/alwayson-availability-group-wsfc-cluster-creation/

    This all works for me fine in a test environment and I can set up a listener as MyProdAlias. But if I try to prestage the VCO by adding a new Computer object to my OU, it will not let me use the MyProdAlias.sql nomenclature - because of the '.' symbol. How can I get around this???

    I hope the above makes sense - looking forward to any suggestions!

    Thanks
    Doodles

  • Hi Sir,

    I think you cannot do that. There are specific requirements for configuring AG listener.

    Requirements for the DNS Name of an Availability Group Listener
    Each availability group listener requires a DNS host name that is unique in the domain and in NetBIOS. The DNS name is a string value. This name can contain only alphanumeric characters, dashes (-), and hyphens (_), in any order. DNS host names are case insensitive. The maximum length is 63 characters, however, in SQL Server Management Studio, the maximum length you can specify is 15 characters.

    References:

    https://docs.microsoft.com/en-us/sql/database-engine/availability-groups/windows/create-or-configure-an-availability-group-listener-sql-server#DNSnameReqs

    https://docs.microsoft.com/en-us/sql/database-engine/availability-groups/windows/listeners-client-connectivity-application-failover

    Best Regards,

  • Thanks for the reference to the official documentation - it's as I feared. I have two options - either get rid of the subdomain (.sql) in our DNS so that we can use just 'MyProdAlias' as our listener. The issue here is all references to this system from various applications (.net config files, SSRS reports, SSAS cubes, ODBCs, Linked Servers) that currently reference MyProdAlias.sql.domain.com will need to be updated to point to just MyProdAlias. A lot more work and a lot more testing! Or I can updated the CNAME record MyProdAlias.sql.domain.com to point to the listener, MyProdAlias (or call it something else so we know it's a listener and don't get confused between the listener and the DNS alias). I don't like the last option because of the slight complexity it adds to the design. All I can do is present the options and let management decide 🙂

    Thanks
    Doodles

Viewing 3 posts - 1 through 2 (of 2 total)

You must be logged in to reply to this topic. Login to reply