How to Upgrade Server 2012 to Server 2022 / 2019 / 2016 - in-place or migration - Zinstall
Products
Knowledge Base
Products
How To?
Personal
Business
Buy Now

How to Upgrade Server 2012 to Server 2022 / 2019 – in-place or migration

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:

  • In-place upgrade from 2012 to 2019 / 2022: In this option, you are upgrading the 2012 server to a newer OS, by installing a newer server version “on top” of the original 2012.
  • Migration upgrade from Server 2012 to a new Server 2019 / 2022: In this approach, you are transferring the contents of your 2012 server, to a separate server running 2022 / 2019.

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.

Is in-place upgrade from 2012 to 2022 possible for your server?

Here is a chart of Windows Server upgrade paths (credit: Microsoft.com)

Server 2012 upgrade path

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”:

  • First, upgrade your Server 2012 / 2012r2 to Server 2016
  • Then, upgrade the Server 2016 to 2022

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.

In-place upgrade vs Migration upgrade: Pros and Cons

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:

  • Install Windows 2016 “on top” of your current Server 2012 or Server 2012r2
  • Once done, install Server 2022 (or Server 2019) “on top” of the 2016

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”.

Is there a better way to upgrade from 2012 to 2019 / 2022?

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: a different path to upgrade from Server 2012 to Server 2022 or Server 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.

Video demo – migration from Server 2012 to 2022 / 2019

Before you begin: Audit your 2012 servers, backup and plan

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.

How to upgrade Server 2012 to Server 2022 / 2019

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).

How to upgrade Server 2012 to Server 2022 / 2019 – on-prem migration

  1. Run Zinstall WinServ on both servers.
  2. Select the first scenario, “Moving between two machines”, on both servers.
  3. On the 2012 server, choose the “This is the Source” option, and leave it running. It will be waiting for connection from the new one.
  4. On the target Server 2022 / 2019, choose the “This is the Target” option.
  5. WinServ will automatically detect the source server. Alternatively, if the servers are on different subnets, you can manually specify the source server’s IP address.
  6. If you’d like to select exactly what you want to transfer, use the Advanced menu. If you just want to transfer everything, you don’t need to go to the Advanced menu.
  7. Click Next and then Go to start the migration.
  8. The transfer will take a while (depending on how much data you have to transfer), and will report to you when done (it also generates a text log of the process).

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.

How to upgrade Server 2012 to Server 2022 / 2019 – off-prem (Azure, AWS or any indirect upgrade)

  1. Run Zinstall WinServ on both servers.
  2. On the source server, select the 3rd option, “Moving from Machine to Container”. This allows to capture the server into a single “migratable image” container file, and later deploy from that to the target.
  3. Choose where to save the container (network share, NAS, even a USB drive – any type of storage), and press Go to perform a full capture of the source server to that location.
  4. Once done, make the container accessible on the target server. For example, if the target is a Cloud-hosted server, upload the container to Cloud storage that the target server can access.
  5. Run WinServ on the new 2022 / 2019 server, and select the 4th option, “Moving from Container to Machine”
  6. When prompted, browse to where the container is stored.
  7. If you’d like to select exactly what you want to transfer, press the Advanced menu. If you just want to transfer everything, you don’t need to go to the Advanced menu.
  8. Click Next and then Go to start the migration.
  9. The transfer will take a while (depending on how much data you have to transfer), and report to you when done.

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.

Dealing with incompatible applications:

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:

  • SQL Server
  • MS SQL
  • MySQL
  • SAP (including SAP Business One)
  • Oracle
  • Sybase
  • DB2
  • Java Application Server
  • Crystal Reports
  • Avaya
  • PeopleSoft
  • JD Edwards Enterprise One (JDE E1)
  • Citrix
  • Apache (Windows only)
  • WebSphere
  • Microsoft Dynamics
  • …and many, many more

After the migration:

Once the migration process is complete, it is time to verify the results.

  • You may need to adjust your domain’s DNS to point to the new server where needed. For example, changing your old CRM Server DNS entry to the new server’s address.
  • Same goes for login scripts and GPO policy.
  • Launch every application and console you use, and verify they load correctly.
  • Using a client workstation, verify that clients can access the migrated server correctly and their applications run without issues.

Congratulations! Your 2012 to 2022 / 2019 upgrade is now complete.

Ready to upgrade Server 2012 to 2022 / 2019?

Get Zinstall WinServ here

Looking for evaluation licenses / volume pricing / more information?

Email us at sales@zinstall.com for assistance.