Best practices for an in-place upgrade from Server 2008r2 to 2016/2019?

I've got several web servers running Server 2008r2 SP2 Standard with SQL Server 2014. What is the best practice / easiest in-place upgrade path to get to Windows Server 2016?

In testing, I'm only able to upgrade from 2008r2 to 2012 and then upgrade again from 2012 to 2016. We've got a decent amount of configuration done on these and quite a few websites running on them. With that in mind having to upgrade twice isn't ideal due to the downtime involved. Is there any way around this? (change license keys or some other solution?)

Thanks!

Update in 2020: We're finally pulling the plug and upgrading our remaining couple 2008R2 servers. For anyone wondering here's what we're (generally doing):

  • If SQL Server is running, we're moving from SQL Server 2008R2 to SQL Server 2014 before upgrading Windows (so there's some overlap). I'm also upgrading to the latest 2014 SP3 + the latest CU4 (this website is great for that sort of thing: https://buildnumbers.wordpress.com/sqlserver/).
  • You can then go from Server 2008R2 to 2012R2.
  • We're then enabling and running disk cleanup.
  • If necessary we're then doing another upgrade for SQL to SQL Server 2016 / SQL 2019.
  • If necessary we're then doing another OS upgrade from Server 2012R2 directly to Server 2019 or if we're taking it slower on some other critical servers we're just upgrading to Server 2016 for the time being.

After each upgrade step we're ensuring we have quality backups (for us VMware snapshots / DB backups) and also checking each piece of software is functioning on every server. Slow and steady wins the race.

And that's enough quick work to get off of 2008R2 and avoid ESU licenses (if you can even purchase them - it's been basically impossible for us to get extended security update keys.)


If you must stay with the same hardware/machines, then a two-step upgrade is your only option:

2008 to 2012, then 2012 to 2016.

But, if you have a virtual infrastructure or can use additional hardware, you can treat this as a migration rather than an upgrade.

Build new SQL servers and new IIS hosts, and then migrate the applications rather than upgrade the OSes.


I'm afraid not as there is no in-place upgrade path from 2008 to 2016. At least not from Microsoft. Not sure if there're 3rd party utilities out there to achieve this.