Need to upgrade Windows Server 2012 / 2012r2 to Server 2022 / 2019? This tutorial will show you how.
We will cover both in-place upgrade from 2012 to 2022 / 2019, and migration from a 2012 server to a separate 2022 / 2019 server.
Server 2012 is officially at its end of life, and Server 2012 R2 End Of Support is October 23, 2023 – so, naturally, you are not alone: 2012’s should be upgraded ASAP. Of course, you want to minimize the time and effort spent on that, and to automate as much of that upgrade as possible.
In this guide, we’ll cover the options on how to upgrade Server 2012 to 2022 / 2019, while preserving full functionality of server applications, databases, user profiles, shares, data. Note that this same process works for non-2012 servers as well; we are just focusing on 2012 due to its 2023 End of life.
There are two primary approaches to upgrading Server 2012:
Just want to find out how to automate the upgrade from 2012 to 2022 / 2019, and don’t need a general tutorial?
Click here to skip to the part with the actual upgrade process.
Here is a chart of Windows Server upgrade paths (credit: Microsoft.com)
As you can see from the chart above, you cannot perform an in-place upgrade from 2012 to 2022 directly. However, for on-premise servers (physical or virtual), it is possible to do it in 2 “hops”:
Note, however, that it is not possible to in-place upgrade Azure servers or AWS servers – not in the “traditional” way. For Cloud-hosted servers like those, you should use a “migration upgrade” described below.
The main advantage of an in-place upgrade (when it is actually possible) is that – at least at first glance – it sounds really simple and painless. After all, you just install a new Windows Server OS (twice), and do not have to deal with reinstalling your applications / data. All you need to do is:
Both steps can be achieved by downloading an mounting the appropriate ISO.
Unfortunately, the reality is not always that simple. There are 3 main concerns around in-place upgrades:
You are destroying your current, functional server: The main issue with in-place upgrades is that once you start, you no longer have a functional server, and will not have one until the new one is fully operational. This is just how in-place upgrades are designed. Of course, you have a backup of the original 2012 (an absolute must in any in-place upgrade), but it is not always that simple to roll it back. And the upgrade process itself can often take a very long time – during which, again, you do not have an operational server. This is an inherent issue with in-place upgrades, which often makes them a non-started for mission critical servers.
Upgrade process is not always seamless: On paper, “just install a new OS twice” does not sound too bad. Unfortunately, the harsh reality is that in-place OS installs often tend to go less smoothly that expected. If there are OS-related issues on the source server, your installation may not even start until you fix them. Plus, any IT admin who has performed a few in-place upgrades can tell you how it feels to run an upgrade process for 3 hours only to get hit with an error such as “0x800F081E The installation failed in the SAFE_OS phase with an error during INSTALL_UPDATES operation”.
End result has to be thoroughly vetted: Assuming you were able to complete the in-place upgrade process (2012 to 2016, then 2016 to 2022 or 2019), the next step is to thoroughly vet each component and each application on the server. You are bridging a gap of about 10 years, and doing that not as a clean install, but as a series of upgrades. It is important to make sure that all OS components are still functional, and performing as expected.
Bottom line is, in theory – in-place upgrades sound promising. In practice, that is no always the case. It is worth a shot in some cases, usually for non-mission-critical servers – and when it does work, it saves a major amount of time and effort. For most server, however, in-plae is not the best approach overall.
In fact, many vendors state outright that in-place upgrades are to be avoided – such as VMWare here: “In-place upgrade of the guest operating system (between major OS release versions, such as Windows Server 2016 or Windows Server 2019 to Windows Server 2022) is not recommended. The best practice is to install a new major OS release in a new VM”.
With all that in mind, the immediate question is – if in-place upgrade is not a good idea, what can be done instead? The answer is – a migration upgrade from 2012 to 2022 / 2019.
Migration upgrade is the alternative to “old school” in-place upgrades, where you install a new Server 2022 or 2019, and transfer the contents of the 2012 / 2012r2 to that. The end result is that you have everything running on the 2022 / 2019 replacement.
It’s clear that migration upgrade immediately removes 2 of the in-place disadvantages described above:
Non-destructive, little to no downtime: Your original server remains operational at all times, and is not destroyed / affected in any way. You only switch to the target when it is fully operational and ready for use – which minimizes (or even eliminates) downtime and risk.
Clean install, starting with the latest OS: You are not dragging 10 years worth of incremental upgrades and 3 different OS versions with you. Instead, you are running the latest OS directly.
This leaves with the 3rd one, the upgrade process itself.
The thing about migration is that if you do it manually, it can consume a huge amount of time and effort. Reinstalling applications, rebuilding configurations, trying to remember how everything was built in the first place, copying data and permissions, shares, personalization, all the little things that make a server work – the list goes on, and the work on that list can go on for days (not to mention human error).
Fortunately, there is a solution for this: migration can be automated using dedicated server migration software – Zinstall WinServ – and this tutorial will show you how.
This works for any combination of platforms: physical 2012 to a physical 2022, physical to VM / Cloud, on-prem 2012r2 VM to an AWS 2019 server, a Server 2012 Azure VM to Server 2022 Azure VM (yes, you can use this to effectively achieve the “impossible” Azure in-place upgrade!).
This is all native migration, not app virtualziation / lift-and-shift / cloune. Applications are actually installed on the target server, shares are configured, data and settings are transferred, just not the old OS itself.
An automated migration eliminates the final disadvantage, and allows to perform 2012 to 2022 / 2019 upgrades cleanly, efficiently and safely.
Let’s see how it’s done.
Audit your servers: In a typical environment, you’ll have quite a few different server types. There will be role-oriented servers, which focus on Windows Server roles such as Domain Controller, Active Directory, IIS, Exchange, DNS, DHCP. Role migration is not automated, and has to be done manually.
The more common group, however, are application and file servers, which run the actual Line of Business applications (LOB) and store the company data. They typically vastly outnumber the role-based group.
Application and file servers can be migrated automatically and on massive scale, using server migration software (as shown below).
In the planning stage, you need to prepare a list of servers in the environment, and figure out what each of them is responsible for. Even just knowing how many role servers and how many application servers is already a big step. Since application server migration can be automated, you will be able to develop a fairly accurate estimate of time and effort that will be required for the migration.
Verify your backups are up to date, and are actually restorable: Any major upgrade may go wrong, and without a valid up-to-date backup, you risk losing everything you’ve had on the server. Make sure to verify that the backup you have is not damaged and ready to be restored if needed!
Decide on replacement type: Once you have decided to replace a server, you have several options regarding what the replacement will be. It may be an on-premise physical Windows 2022 / 2019 server, an on-prem VM server (ESX / Hyper-V, for example), or a Cloud-based server running off premise (such as migration to Azure or migration to Amazon AWS). If you are using WinServ, it supports any of those transfers, so migration difficulty does not vary significantly with your choice.
The process below outlines the steps for upgrading from Server 2012 / 2012 R2, to a new Windows Server 2016 / 2019 / 2022.
We will cover on-prem migration (target server is on the same network as the source), and off-prem migration (target server is off-site, such as server migration to Azure / AWS).
That’s it! That’s the entire migration process. Of course, that’s not the whole migration; you did have to spin up the server before running this, and you do need to review the results (see below), but you did just automate most of the busywork out of the upgrade.
That’s it! That’s the entire migration process. Of course, that’s not the whole migration; you did have to spin up the server before running this, and you do need to review the results (see below), but you did just automate most of the busywork out of the upgrade.
Some legacy 3rd party applications running on Windows Server 2012 may be incompatible with Windows Server 2022 / 2019. This part is the same for “old school” in-place upgrades, and for “migration” upgrades, since the limitation is a property of the application itself.
On 2012, incompatible applications are significantly less common compared to Server 2003 / 2008, but it may still happen – usually for legacy software, which has not been updated for newer OS versions.
Note that “old” does not necessarily mean “won’t work”. Quite a few applications ah
If these applications cannot be eliminated immediately, and are mission-critical for continued operation of the organization, the recommended option to preserve them operation is to perform a virtualized migration of those applications, into a virtual Server 2012 instance running on newer replacement server. Then, continue to take the steps required to phase those applications out and stop running the virtualized 2012 instances.
WinServ itself is application-generic, and can migrate even custom and in-house applications that have not been seen by the outside world – as long as they are capable of running on the new server. Here is a partial list of common applications that our customers have migrated in the past:
Once the migration process is complete, it is time to verify the results.
Congratulations! Your 2012 to 2022 / 2019 upgrade is now complete.
Looking for evaluation licenses / volume pricing / more information?
Email us at sales@zinstall.com for assistance.