Upgrade OS on MS SQL Server Box

Recently we got one request to upgrade OS of a MS SQL database server. Customer asked us to perform in-place upgrade from Windows 2012 datacenter to Windows 2019. We educated customer that in-place upgrade should be avoided considering associated risks. However, customer was fine with risks considering it was a development database server.

Anyways, customer is always King !

We reviewed that machine was having below two SQL server instances installed:

  1. Default SQL Instance : Microsoft SQL Server 2016 (RTM-GDR) (KB4019088) – 13.0.1742.0 (X64) Enterprise Edition: Core-based Licensing (64-bit) on Windows Server 2012 R2 Datacenter 6.3 (Build 9600: ) (Hypervisor)
  2. Named SQL Instance: Microsoft SQL Server 2014 (SP2-GDR) (KB4019093) – 12.0.5207.0 (X64) Enterprise Edition (64-bit)

Please note this activity involved only OS upgrade , no upgrade on existing SQL server instances. First thing that we checked was if existing SQL server versions would be compatible with target Windows OS 2019 or not?

Below Microsoft link was of great use here:

https://docs.microsoft.com/en-us/troubleshoot/sql/general/use-sql-server-in-windows

Above link mentioned below:

  1. Windows 2019 can support SQL Server 2014 SP3 , but machine had SQL Server 2014 (SP2-GDR). So we planned latest patch on SQL instance before OS upgrade.
  2. Windows 2019 can support SQL Server 2016 SP2 , but machine had SQL Server 2016 (RTM-GDR). So we planned latest patch on SQL instance before OS upgrade.

Machine was a Virtual Machine and below was high level action plan:

  1. We taken latest full backups of databases on both the instances.
  2. Downloaded latest services packs.
  3. VM snapshot was taken for rollback purpose.
  4. Applied SQL service packs on both the instances. This was followed by multiple server restarts.
  5. OS upgrade was performed by OS Team and restarted.
  6. We verified SQL services and databases status. Everything worked like a charm and customer was happy ,so were we.

Happy learning. Please add comment if anything got missed or any other considerations to be taken for similar activity.