I'm having an issue where I need to decommission a SQL server in use by a few web and application servers without causing downtime.
The server is a SQL 2008 R2 box and includes a named instance... we'll call it INST1
To illustrate, we'll call the soon-to-be decommissioned server: SERVERA\INST1.
The new SQL server to be used to take SERVERA's place is called: SERVERB\INST1
My plan has been to simply create an alias called "SERVERA\INST1" on SERVERB and create hosts file entries on the few web/application servers that point them to SERVERB whenever they makes calls to SERVERA. The only issue I'm having is with creating an alias that contains the instance name.
In other words, if I create an alias called "SERVERA" and then update the hosts file to point to the IP address of server B on the web/app servers I can connect to the server without problems. But this is unacceptable b/c the apps/web services call it by the named instance which is not working using this alias. Basically, I need to have the alias include the named instance "\INST1" in order for this to work... or at least I don't see any other way to do this.
The IP settings for both 32/64bit protocols is the same. The TCPIP protocol settings for SERVERB is the same. The aliases are configured identically with the exception one is called "SERVERA" and the other is "SERVERA\INST1". "SERVERA" works fine... "SERVERA\INST1" always fails. In fact, traffic never even makes it to the server from the app/web servers affected. However, one thing I have noticed that is most interesting: it always works locally on SERVERB. So connecting to "SERVERA\ISNT1" works GREAT if I'm logged on to SERVERB when I try. If I'm on a remote server, however, it will fail every time.
Is it possible to create an alias that includes an instance name and have it route properly? Or is there some limitation on what characters can be used when creating aliases?
Any help is GREATLY APPRECIATED!!!