SQL Server – Default Instance Name in a Cluster

clusteringinstancesql server

I have a cluster set up with two virtual instance names

WIN2K8SQL1\INST1

WIN2K8SQL2\INST2

that was set up by the IaaS company.
Now developers are complaining about the naming convention so we decided to create an alias in the DNS. But alias only works for WIN2K8SQL1 and not for INST1, so that they need to use that in the connection strings:

MEANINGFULNAME\INST1

Is there a way to name the instances on the cluster MSSQLSERVER?

Best Answer

DNS CNAMEs take care of the host name only, but do absolutely nothing for the port number, which is what the instance name represents.

If you want to use CNAMEs for this, you will have to make the two instances behave as if they both were default instances: in other words they will both have to listen on port 1433.

Each instance in a cluster has its own IP address, so this is totally possible. More information can be found on this blog post.

In your case, you could set up something like this:

MEANINGFULNAME1 -- > WIN2K8SQL1\INST1
MEANINGFULNAME2 -- > WIN2K8SQL2\INST2

Where MEANINGFULNAME1 is a CNAME for WIN2K8SQL1 and MEANINGFULNAME2 is a CNAME for WIN2K8SQL2.