SQL Server Migration Plan - Alias Options for Multiple Apps Connecting We currently have a number of databases on a single SQL Server 2008R2 instance (server name: prdServer01; Win VM). We want to migrate to a SQL Server 2016 instance (server name: prdServer02; Win VM).
We have many applications that connect to the 2008R2 DB server. So ideally we would like to avoid having to update each connection string in each application.
From what I can tell, our options are

Add an alias to the SQL 2016 server(prdServer02). That alias will be the same name as the SQL 2008R2 server(i.e. prdServer01)
Add a DNS entry to the Windows server (I'm not entirely sure how this works)

The problem I see, is that we would have to take the 2008R2 server offline before the alias will work. And it is also going to be difficult to test.
Is there a better solution for this? Are we best to give the new 2016 server a completely different alias and then update our apps one by one to use this new alias in the connection strings?
you may eventually rename the old VM and the old instance (es: prdServer01_old) and assign the prodServer01 at the new one (both VM and instance)
prdServer01 --&gt; prdServer01_old
prdServer02 --&gt; prdServer01
here how to rename an instance:
https://docs.microsoft.com/en-us/sql/database-engine/install-windows/rename-a-computer-that-hosts-a-stand-alone-instance-of-sql-server?view=sql-server-ver15
As i'm supposing you are not using ip addresses in connection string, that's all.