Overview
When extended support ends, an estate rarely has one right answer. Some instances can move this quarter, some are pinned by a vendor application, and some nobody can account for. This scenario describes how an AceMQ upgrade and ESU planning engagement runs.
Challenge
The group had SQL Server instances in several plants and a cloud subscription, an unknown number still on SQL Server 2016, and an auditor's request for the patch level of each. A vendor-supplied production system was certified only for SQL Server 2016.
Environment
SQL Server 2016 and 2017 on virtual machines in plant data centres and on Azure virtual machines, a mix of standalone instances and one availability group, and several applications whose vendors had not published support for newer versions.
Approach
AceMQ builds the inventory first: version, edition, cumulative update level, features in use and the application behind every instance. Each instance is then placed on one of three routes, using Microsoft's published rules for Extended Security Updates through Azure Arc or the SQL IaaS Agent extension, and for Azure SQL Managed Instance. For upgrades, the compatibility level is raised with Query Store collecting so regressions can be forced back, and the cutover is rehearsed on a restored copy.
Solution
- Inventoried every instance with version, edition, cumulative update level and owner
- Validated the latest cumulative update on test copies before any subscription, as Microsoft advises
- Assigned each instance to upgrade, ESU as a time-boxed bridge, or Managed Instance, with the reason recorded for the auditor
- Planned the upgrade with Query Store enabled and a written rollback for each cutover
- Documented the ESU enrolment steps and an end date for each subscription
Outcome
The engagement delivers the inventory, a decision record per instance, an upgrade runbook with rollback steps, and the ESU enrolment steps for the instances that cannot move yet. The main risk it removes is leaving unpatched instances unaccounted for.