I have both test and production enviroments with a TFS 2017 update 1 on premises running in a windows server 2012 virtual machine. In the same virtual machine is running SQL Server 2014 as TFS database. I used this configuration for 3 years without problems.
Now I want to upgrade to Azure DevOps Server 2019 update 1.1 on premises. Furthermore I want to change architecture with two virtual machines with windows server 2016: one for database tier with SQL Server 2016 and one for application tier with Azure DevOps Server 2019 update 1.1.
What is the best practice to perform upgrade above described. Maybe the correct way is to leave the original single virtual machine with TFS 2017, prepare two new virtual machine both with windows server 2016 (one for SQL Server 2016 and other for DevOps 2019) and finally perform a "move project collection" from SQL Server 2014 to SQL Server 2016. Does the move project collection works even if the source comes from TFS 2017 and the destination is Dev 2019?
Is there any official documentation provided by Microsoft about the scenario of upgrade described above?