Side By Side Upgrade and Migration from 2008 to 2016

Old Server Name Test1

New Server Name Test1

Default Instance Test 1

My question is when the new server be named as the old one 'Test1" and it will try to register the dns while the old server is online wont be there a problem as the name is already being registered. In that case what will be the workaround since it is a side by side upgrade and migration I need to use the same server name and need to use both the servers in order to upgrade and mirgate and then turn off the old server after the switch over

  • I'd probably first update all my connections to point to a virtual IP that points to the old server. Then you can name the new one whatever you want and when it is ready, switch the VIP point to the new server. Connecting directly to host names makes infrastructure changes very hard. Commented Nov 29, 2017 at 16:19
  • So for example Old Server IP New Virtual IP New Server IP On the above can I connect to both the Default Instances which has same Server Name but different Ips and then once everything is done put the New Virtual IP on the new server
    – SqlNovice
    Commented Nov 29, 2017 at 16:26
  • is the point of having the same name to avoid application configuration changes. if so have you looked at using a CNAME dns record
    – Bob Klimes
    Commented Nov 29, 2017 at 17:46
  • this will be my first migration project and a bit confused. but what if the server names are changed and we keep the default instances in that case what are the changed that needs to be done from the application side. In other words if I change the server name then it will greatly reduce my workload
    – SqlNovice
    Commented Nov 29, 2017 at 17:49
  • if you use default instance, then nothing to worry about. if you use named instance (ie test1/test1), make sure the instance is named the same on the new server. as for application changes, they are all different. I would look at things like connection strings, servername in config, linked servers, etc
    – Bob Klimes
    Commented Nov 29, 2017 at 17:54

2 Answers 2


I've had to do this and just had a record available for the old server. Renamed the DNS entries and did a ipconfig /flushdns on the servers themselves since they were replicating back in case of a failback. We set the DNS to a very low TTL so clients also got updated. Powershell made all this very easy and fast.

If your clients are easily identified and you have access, you can do a flushdns yourself on them as well. I recorded and documented all connections going to the database prior to the upgrade so I knew all the clients to look out for. Then finally I set the old database to block all users except the sole one I was using for replication on the old machine and ran traces to see if anyone was attempting to connect to the old instance. None did but if they were, I would inform them to update DNS or check their connection string.


Rename current server test1old(or whatever) and create CNAME DNS record called test1 pointing at test1old(or whatever). Name your new server whatever you want and when you are ready for cutover, just change the CNAME record to point to your new server. You may need to flushdns on app server/clients.

  • Thanks so basically I will change the old server to OLDTEST1 and name the new server TEST1. Connect both simultaneously and do the migration and test and upon compelte swithover change the CName. Now my question is when i change the oldserver name does it change the sql instance name as well as i am using the default instance. Doesnt the application breaks if the oldserver name is being changed
    – SqlNovice
    Commented Nov 29, 2017 at 17:56
  • not quite, change the old server to oldtest1, name the new server newtest1. create cname called test1 point as oldtest1. At cutover, point cname at newtest1, leave actual servername as newtest1. Instance name will stay the same. if you plan on running on the oldtest1 for a while before cutover, you might want to rename the servername. learn.microsoft.com/en-us/sql/database-engine/install-windows/…. application should be fine, unless it specifically checks @@servername matches connection servername
    – Bob Klimes
    Commented Nov 29, 2017 at 18:02
  • 1
    here is a good blog post on this process(except for initial server rename) port1433.com/2016/08/03/…
    – Bob Klimes
    Commented Nov 29, 2017 at 18:07
  • Really appreciate your kind help..
    – SqlNovice
    Commented Nov 29, 2017 at 18:08

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.