First page of Microsoft's 100,000-partner directory, sorted by responsiveness Microsoft Solutions Partner — Security, Modern Work, Infrastructure, App Innovation Microsoft partner since 2006 1,100+ organizations under management
Home/Services/SQL Server 2016 In-Place Upgrade to SQL Server 2022 or 2025
Implementation

SQL Server 2016 In-Place Upgrade to SQL Server 2022 or 2025

SQL Server 2016 reached the end of extended support on 14 July 2026 per Microsoft's product lifecycle, so every 2016 instance still running on-premises is unpatched unless you are paying Microsoft for Extended Security Updates. This engagement upgrades those instances where they stand — in place on the existing host, or side by side on the same host when a fast fallback matters more than a short window — to SQL Server 2022 or SQL Server 2025. IT Partner runs the pre-upgrade assessment against Microsoft's supported paths (2016 must be at Service Pack 3; SQL Server 2025 requires Windows Server 2019 or later, so a host still on Windows Server 2016 lands on 2022 unless the operating system moves first), brings the instance to SP3, takes and restore-tests the backups, writes the rollback plan, performs the upgrade and the current cumulative update, checks SQL Agent jobs, linked servers, SSIS packages and SSRS, and hands over a compatibility-level plan built on Query Store so the optimizer change happens on your schedule, not Setup's. $1,450 per server plus a $950 base fee, an estimate confirmed in a written quote, for about 2 weeks per upgrade wave. Built for mid-size and enterprise estates keeping SQL Server on-premises for latency, licensing or regulatory reasons; failover cluster instances, Always On availability groups and estates of ten or more instances are quoted per estate.

Timeline 2 weeksService owner Mike MackeySQL ServerWindows Server

What this engagement is

SQL Server 2016 left extended support on 14 July 2026 per Microsoft's product lifecycle. From that date Microsoft ships no security updates for it unless you buy Extended Security Updates — and, under Microsoft's current ESU terms, SQL Server 2016's ESUs are a paid subscription even on an Azure virtual machine, unlike the free treatment 2014 received there. That leaves three honest ways out: pay Microsoft for ESUs while you decide (a metered charge on your Azure subscription through Azure Arc, or a volume-licensing purchase for disconnected servers — available for up to three years, so for SQL Server 2016 through July 2029 per Microsoft's end-of-support overview), move the databases to Azure, or upgrade the engine where it stands. Our five SQL Server migration services cover the second path. This page is the third — for the plants, warehouses, trading floors, clinics and government estates that keep SQL Server on-premises because the application needs sub-millisecond latency to something in the building, because the licences are already owned under Software Assurance, or because a regulator or data-residency rule says the data stays. The first decision is the target version, and it is decided by the host as much as by preference. Both SQL Server 2022 and SQL Server 2025 accept an upgrade from SQL Server 2016 at Service Pack 3 or later — that is Microsoft's supported-upgrade table, and an instance still on SP2 goes to SP3 first. The operating-system floors differ: SQL Server 2022 installs on Windows Server 2016 or later; SQL Server 2025 requires Windows Server 2019 or later, per Microsoft's hardware and software requirements. The most common 2016 estate — SQL Server 2016 on Windows Server 2016 — can therefore go in place to SQL Server 2022 today, while reaching 2025 on that host means upgrading Windows first or installing 2025 side by side on a newer host, and Microsoft itself recommends a new installation rather than an in-place upgrade whenever the operating system is changing too. Windows Server 2016 leaves extended support on 12 January 2027 per Microsoft's product lifecycle, so the operating-system question is close behind; the Windows Server 2016 End of Support Assessment is the place to settle it, and the Windows Server 2016 to 2025 Upgrade Service is the engagement that moves the host. Between the two SQL targets: 2022 is in support until January 2033 per Microsoft's product lifecycle and keeps you on familiar ground; 2025, generally available since November 2025, has the longest runway (extended support to 2036 per Microsoft's end-of-support overview), compatibility level 170, and a higher Standard-edition ceiling (the lesser of 4 sockets or 32 cores, and 256 GB of buffer-pool memory per instance) — but it also discontinues Master Data Services and Data Quality Services, which rules it out for an instance that still depends on either. What 'in place' means, stated plainly: SQL Server Setup replaces the 2016 binaries and upgrades the system databases on the same host, and the previous instance no longer exists afterwards. There is no uninstall-to-go-back, and a database that has been opened by the new engine cannot be attached to or restored on SQL Server 2016 again. Rollback is therefore the restore-tested backup set — and the hypervisor snapshot, where the host is virtual — taken at the write freeze, restored onto the 2016 build. The advantage is that logins, Agent jobs, instance settings, file paths and connection strings all carry over untouched. Where a fast fallback matters more than a short window, we install the target version as a new named instance beside the 2016 instance on the same host, move the databases across by backup and restore, switch the connection strings or a SQL alias, and leave the old instance stopped for the agreed fallback period before removing it. We recommend one or the other per host in the assessment, and the runbook is written for the method you approve. The assessment is where upgrades are won. It runs Microsoft's upgrade-assessment tooling — the Data Migration Assistant, or its successor inside SQL Server Management Studio where Microsoft has moved it — and our own checks for the things Setup will not warn you about: linked servers still defined on the deprecated SQL Server Native Client provider, which move to the Microsoft OLE DB Driver for SQL Server; SSIS packages, which the upgrade moves to the new instance without converting their format, so the SSIS Package Upgrade Wizard is a separate, deliberate step; Reporting Services, which since 2017 is a standalone product that Setup cannot upgrade from SSRS 2016 — we install the current SSRS release and migrate the report server database and encryption key, or, if the reports are heading to Power BI anyway, hand that to the SSRS to Power BI Migration; Analysis Services instances, full-text catalogs, CLR assemblies, CDC and replication, maintenance plans, and the client drivers on the application servers. After the upgrade we work through Microsoft's completion list — new full backups, DBCC CHECKDB WITH DATA_PURITY, DBCC UPDATEUSAGE, updated statistics, repopulated full-text catalogs — and then the discipline that keeps Monday quiet: every database stays at its original compatibility level (130), Query Store captures a baseline through a real business cycle, the level is raised to 160 or 170 on your schedule, and any plan regression the newer optimizer introduces is forced back to its last known good plan from Query Store. That is Microsoft's documented workflow for exactly this transition, and it is why 'the upgrade broke our month-end reports' is not something you should have to say. Who this is for: organizations with one to ten SQL Server 2016 instances staying on-premises, mid-size to enterprise, priced per server and delivered in two-week waves. Who it is not for: if you have not yet chosen between ESUs, Azure and an on-premises upgrade, the SQL Server 2016 End of Support Options Assessment makes that call first; if the instances are moving to Azure, start with the SQL Server to Azure Migration Assessment and the Azure VM migration; if it is one small database and the target is an Azure VM, the fixed-price database copy is the simpler product; if you need time before any of this, the Managed ESU and Legacy Server Lifecycle Service runs the Extended Security Update stopgap and the SQL Server 2016 ESU Enrollment through Azure Arc switches it on; and failover cluster instances, availability groups and estates of ten or more instances are scoped and quoted per estate rather than squeezed into a per-server price.

Success criteria

01Every in-scope instance reports the approved target version and edition at the agreed cumulative update — SELECT @@VERSION and SERVERPROPERTY output captured in the closeout report — and no production connection is served by a SQL Server 2016 build.
02The pre-upgrade assessment lists every blocker with its remediation — service-pack level, operating-system floor, edition path, discontinued and deprecated features, driver and provider dependencies — and you approved the target version and the method (in place or side by side) for each host before Setup ran.
03A restore-tested backup set — full backups WITH CHECKSUM of every user and system database, plus exported encryption keys — and, where the host is virtual, a hypervisor snapshot exist for every instance at the write freeze, so the rollback plan is proven rather than assumed.
04Every SQL Agent job, maintenance plan, linked server, credential and proxy in the pre-upgrade inventory runs successfully on the upgraded instance; SSIS packages execute from the upgraded catalog or msdb; and, where Reporting Services was in scope, the reports and subscriptions render on the migrated report server.
05Microsoft's post-upgrade completion tasks are done and evidenced: DBCC CHECKDB WITH DATA_PURITY clean on every database, DBCC UPDATEUSAGE run, statistics updated, full-text catalogs repopulated, new full backups taken on the upgraded engine.
06Application owners' smoke tests pass against the upgraded instance with every database held at its original compatibility level (130) and Query Store capturing.
07The compatibility-level plan is handed over — baseline window, raise steps to 160 or 170, regression review and forced-plan procedure — and executed within the engagement wherever your baseline window fits inside it.
08The as-upgraded document, validation evidence and closeout report are delivered, IT Partner's access is removed, and you approve delivery.

What you receive

Pre-upgrade assessment report, per instance: version, service pack and cumulative update; edition; host operating system and patch state; features in use (Agent, SSIS, SSRS, SSAS, full-text, CDC, replication, CLR, linked servers, Service Broker, FILESTREAM); deprecated and discontinued features flagged by Microsoft's assessment tooling and our own checks; client-driver inventory on connecting application servers; licensing route confirmation; and the recommended target (2022 or 2025) and method (in place or side by side) for each host, with the reasons.
Service Pack 3 prerequisite remediation: any SQL Server 2016 instance below SP3 is brought to SP3 and its latest cumulative update in an agreed window before the upgrade, because Microsoft's supported path starts there.
Upgrade runbook and rollback plan for each host: step order with owners and time budget, go/no-go gates, the write-freeze procedure, the backup and snapshot set, the restore path back to the 2016 build, and the written abort criteria you approve before the window.
Backup evidence: full backups WITH CHECKSUM of every user and system database, restore-tested; exported TDE certificates and SSRS encryption keys where in use; and the hypervisor snapshot confirmed where the host is virtual.
The upgrade itself: SQL Server Setup upgrade to the approved target version and edition path, the current cumulative update applied, service accounts, ports, protocols and startup parameters verified, and Setup's Azure Arc extension option answered per your decision — we do not Arc-enable the server unless you ask.
Post-upgrade completion per Microsoft's list: DBCC CHECKDB WITH DATA_PURITY, DBCC UPDATEUSAGE, statistics update, full-text catalog repopulation, new full backups on the upgraded engine, and SQL Server Management Studio updated on your administrators' workstations.
Component checks and fixes within scope: Agent jobs, proxies and credentials verified; maintenance plans re-saved on the new SSIS runtime; linked servers moved from the deprecated SQL Server Native Client provider to the Microsoft OLE DB Driver for SQL Server where needed; the SSIS catalog upgraded and packages run through the SSIS Package Upgrade Wizard on your decision; Analysis Services instances upgraded; and, where Reporting Services is in scope, the current standalone SSRS release installed with the report server database, encryption key and subscriptions migrated.
Compatibility-level plan: Query Store configured on every user database, the baseline window agreed against your business cycle, the raise-and-review runbook to level 160 or 170, and the forced-plan procedure for regressions — executed in the engagement where the window fits, handed over as a runbook where it does not.
Closeout: as-upgraded configuration document, validation evidence pack, outstanding issues, and final budget against the written quote.

How the work unfolds

Days 1–2 — Kickoff, inventory and assessment

Kickoff call to confirm the instances, hosts and application owners in scope. IT Partner inventories each instance and host, runs Microsoft's upgrade-assessment tooling and our own checks, confirms licensing and the operating-system floor, and delivers the assessment with the recommended target and method per host for your approval.

Days 3–5 — Prerequisites, backups and runbook

Bring any instance below SP3 to Service Pack 3 in an agreed window. Take and restore-test the full backup set, export encryption keys, and confirm snapshot rights. Write the upgrade runbook and rollback plan with abort criteria, and rehearse the upgrade on a non-production copy where you have one.

Days 6–7 — Upgrade window

Pre-flight checks (pending reboots, disk, services), write freeze, final backups and snapshot, go/no-go gate, then SQL Server Setup upgrade or the side-by-side install and database move, the current cumulative update, service and connectivity verification, and the application owners' smoke test before the window closes. Abort criteria are in force throughout.

Days 8–9 — Completion tasks and component validation

Microsoft's post-upgrade completion list, then the component pass: Agent jobs, maintenance plans, linked servers and providers, SSIS catalog and packages, Analysis Services, full-text, and the Reporting Services migration where it is in scope. Issues found within scope are fixed here.

Day 10 — Compatibility-level plan and handover

Query Store confirmed capturing on every database at compatibility level 130, the baseline window agreed, the raise-and-review runbook and forced-plan procedure walked through with your administrators, the as-upgraded document and closeout report delivered, our access removed, and delivery approved. Where your baseline window fits inside the engagement, the raise is executed before this point.

Prerequisites

SQL Server 2016 instances at Service Pack 3 or later, or agreement to a short window (a restart) for IT Partner to bring them to SP3 before the upgrade — Microsoft's supported upgrade path to 2022 and 2025 starts at 2016 SP3.
A host operating system that meets the target's floor per Microsoft's requirements — Windows Server 2016 or later for SQL Server 2022, Windows Server 2019 or later for SQL Server 2025 — fully patched, with no pending reboot, the .NET Framework 4.7.2 Setup requires, and free disk for Setup, the cumulative update and the backup set. An operating-system upgrade is a separate engagement.
Licensing that covers the target version, confirmed by you before the window: Software Assurance or subscription licences with version rights, a new licence purchase, or SQL Server pay-as-you-go billing through Azure Arc. We do not sell licences in this fee; the Microsoft Volume Licensing service and our SQL Server licensing calculator help you decide.
Installation media for the target version and edition, and the current cumulative update, available to the host; for a Reporting Services migration, the current standalone SSRS installer.
Access for IT Partner: sysadmin on each instance, local administrator on each host, service-account credentials or the managed service account details, and snapshot rights in vCenter or Hyper-V where the host is virtual — granted for the engagement and removed at closeout.
Backup storage with enough free space for full backups of every database on the instance, plus space for the restore test.
A maintenance window per server agreed with the application owners. An in-place upgrade takes the instance offline for Setup, the cumulative update and the completion tasks; the runbook states the time budget.
Application owners available for the smoke test at the end of the upgrade window and again after the compatibility-level raise.
An inventory of what connects to each instance — applications, connection strings, drivers, linked servers from other instances — or the people who can build it with us during the assessment.
Instances that are standalone. Failover cluster instances and Always On availability groups follow Microsoft's rolling-upgrade procedures and are scoped and quoted per estate, not covered by the per-server price.

Who does what

IT Partner

  • Run the kickoff, inventory the instances and hosts, run the assessment tooling and our own checks, and deliver the assessment with a recommended target and method per host.
  • Bring instances to Service Pack 3 where needed, take and restore-test the backup set, export encryption keys, and write the upgrade runbook and rollback plan with abort criteria.
  • Perform the upgrade — in place or side by side on the same host — apply the current cumulative update, and verify services, connectivity and the application owners' smoke test before closing the window.
  • Execute Microsoft's post-upgrade completion tasks and the component pass (Agent, maintenance plans, linked servers, SSIS, SSAS, full-text, SSRS migration where in scope), fixing configuration issues within scope.
  • Configure Query Store, agree the baseline window, execute the compatibility-level raise where the window fits inside the engagement, and hand over the runbook and forced-plan procedure.
  • Call a rollback if the abort criteria are met during the window, and restore the 2016 build from the proven backup set or snapshot.
  • Deliver the as-upgraded document, validation evidence and closeout report, and remove our access at closeout.

Your team

  • Provide a dedicated technical point of contact and the access listed in the prerequisites.
  • Confirm the licensing route for the target version and buy any licence, Software Assurance or pay-as-you-go entitlement needed; Microsoft's licence, Extended Security Update and Azure charges are yours.
  • Approve the target version and method per host, the maintenance windows and the written abort criteria before the upgrade window.
  • Make application owners available for the smoke test in the window and after the compatibility-level raise, and own any application-side change a vendor requires.
  • Provide backup storage and, where the host is virtual, the snapshot capability and its retention.
  • Own the operating-system upgrade, hardware refresh or new-host build where the assessment shows one is needed to reach the target you want.
  • Review the deliverables and approve delivery, or report defects, within the schedule.

What's not included

Windows Server operating-system upgrades — moving a Windows Server 2016 host to 2022 or 2025 so it can take SQL Server 2025 is the Windows Server 2016 to 2025 Upgrade Service; the Windows Server 2016 End of Support Assessment settles the operating-system question first.
Moving SQL Server to Azure — SQL Server on an Azure VM, Azure SQL Managed Instance or Azure SQL Database are separate services, and the SQL Server to Azure Migration Assessment is their front door. Building a new Azure VM on the current version and moving databases into it is the upgrade-in-flight migration.
Reporting Services to Power BI — replacing SSRS with Power BI or Power BI Report Server is the SSRS to Power BI Migration. This engagement migrates SSRS 2016 to the current standalone SSRS release where SSRS is in scope; it does not redesign reports.
Licence purchase, Software Assurance, true-ups and licensing audits — Microsoft Volume Licensing. The assessment confirms which route covers the target; it is not a licensing review.
Extended Security Update enrollment or purchase — Microsoft's charge, billed to you by Microsoft. Enrolling the instances is the SQL Server 2016 ESU Enrollment through Azure Arc; running the stopgap while the upgrades are scheduled is the Managed ESU and Legacy Server Lifecycle Service; Arc onboarding itself is the Azure Arc Hybrid Server Management Implementation.
Failover cluster instance and Always On availability group upgrades, or redesigning high availability and disaster recovery — quoted per estate after the assessment; whole-server replication for DR is the Azure Site Recovery implementation.
Application code, vendor certification or schema remediation — if an application needs changes to run against the new engine or a newer driver, that is the application owner's or vendor's work; we identify it in the assessment.
Query and index tuning beyond fixing plan regressions against the Query Store baseline; pre-existing performance problems are separate work.
New hardware, a new host build, or a side-by-side installation on a different server — scoped and quoted separately. This fee covers in-place and same-host side-by-side upgrades.
Backup platform implementation and ongoing backup operations — Azure Backup for servers — and ongoing database administration after closeout. Customers who buy their Microsoft licensing through IT Partner get break-fix support during business hours at no extra charge; see Microsoft 365 Break/Fix Support.
Escalation to Microsoft under our Microsoft Premier Support agreement where a Setup failure needs Microsoft's engineers — available as a paid add-on, stated in the quote before it is used.

Limitations & technical notes

!Supported paths are Microsoft's, not ours: an upgrade to SQL Server 2022 or 2025 requires SQL Server 2016 at Service Pack 3 or later; editions follow Microsoft's edition-upgrade table (Standard can go to Standard or Enterprise, Enterprise stays Enterprise — there is no in-place downgrade); and only 64-bit x64 platforms are supported.
!The operating-system floor decides the target: SQL Server 2022 needs Windows Server 2016 or later, SQL Server 2025 needs Windows Server 2019 or later, per Microsoft's hardware and software requirements at the time of writing. A host on Windows Server 2016 reaches 2022 in place; reaching 2025 on it means an operating-system upgrade first or a side-by-side installation on a newer host, and Microsoft recommends a new installation rather than an in-place upgrade when the operating system is also changing.
!An in-place upgrade overwrites the 2016 instance, and databases opened by the newer engine cannot be attached to or restored on SQL Server 2016 afterwards. Rollback is a restore of the pre-upgrade backup set or hypervisor snapshot onto the 2016 build and takes as long as that restore does; the runbook states the time and the abort criteria that trigger it. Same-host side by side shortens the fallback to a connection-string switch at the cost of a second instance name and a longer window.
!Reporting Services 2016 cannot be upgraded in place by SQL Server Setup: from 2017 onward SSRS is a standalone product, so the path is a fresh SSRS installation with the report server database and encryption key migrated. SharePoint-integrated Reporting Services was discontinued after SQL Server 2016; an estate that depends on it needs a redesign, which is quoted separately.
!SSIS packages are moved to the upgraded instance in their existing format; converting them with the SSIS Package Upgrade Wizard is a deliberate step taken on your decision, and packages that use third-party or custom components need versions built for the new runtime, which the vendor supplies.
!SQL Server 2025 discontinues Master Data Services and Data Quality Services; an instance that depends on either is assessed for SQL Server 2022 instead. Deprecated features Microsoft's tooling flags — including the SQL Server Native Client provider on linked servers — are listed with their replacements in the assessment.
!The compatibility-level raise depends on a baseline captured through a real business cycle. Where that cycle is longer than the two-week engagement, the raise runs from the handed-over runbook as a short scheduled follow-up, stated in the quote, rather than being forced early.
!Downtime is real. An in-place upgrade takes the instance offline for Setup, the cumulative update and the completion tasks — typically a single evening for one instance, with the budget stated in the runbook. Zero-downtime upgrades are a property of availability-group rolling upgrades, which are quoted per estate.
!Microsoft's upgrade-assessment tooling is changing — the Data Migration Assistant has been retired in favour of assessment features in SQL Server Management Studio. We verify the currently supported tool on the day of the assessment rather than from a runbook written last year.
!The $1,450 per server plus $950 base fee is an estimate for standalone hosts running one SQL Server instance each, confirmed as a written quote before work begins; hosts running several named instances are confirmed in the quote, and failover cluster instances, availability groups and estates of ten or more instances are quoted per estate. Microsoft's licence, Extended Security Update and Azure charges are yours. Client-side delays move the completion date, not the scope.
!End-of-support, Extended Security Update and lifecycle dates are Microsoft's and are stated from Microsoft's product lifecycle at the time of writing. Technical content reviewed September 2026.

Frequently asked questions

Can we upgrade SQL Server 2016 directly to SQL Server 2025?

Yes, on two conditions Microsoft sets. The instance must be at SQL Server 2016 Service Pack 3 or later — SP3 is the minimum source level in Microsoft's supported-upgrade table for both 2022 and 2025 — and the host must run Windows Server 2019 or later, which is SQL Server 2025's operating-system floor. An instance on SP2 goes to SP3 first (we do that in the engagement); a host on Windows Server 2016 cannot take SQL Server 2025 in place, so it either lands on SQL Server 2022 or the operating system is upgraded first, which is separate work.

Should we choose SQL Server 2022 or SQL Server 2025?

Start from the host. If it runs Windows Server 2016, 2022 is the in-place option today. If it runs 2019 or later, 2025 is usually the better landing — generally available since November 2025, compatibility level 170, a higher Standard-edition ceiling (32 cores and 256 GB of buffer-pool memory per instance) and the longest support runway, with extended support to 2036 per Microsoft's end-of-support overview — unless the instance depends on Master Data Services or Data Quality Services, which 2025 discontinues, or an application vendor only certifies 2022. SQL Server 2022 remains in support until January 2033 per Microsoft's product lifecycle, so it is not a short-term choice either. The assessment records the recommendation per host with the reasons.

What is the difference between an in-place and a side-by-side upgrade, and which do you recommend?

In place, SQL Server Setup replaces the 2016 binaries on the same host and upgrades the instance: logins, Agent jobs, settings, paths and connection strings all carry over, the window is one evening, and the previous instance is gone afterwards — rollback means restoring the pre-upgrade backups or snapshot. Side by side on the same host, we install the target as a new named instance next to 2016, move the databases by backup and restore, switch connection strings or a SQL alias, and keep the old instance stopped for a fallback period. That buys a minutes-long fallback at the cost of a second instance name and a longer window. We recommend one per host in the assessment: in place for well-inventoried instances with a rehearsed restore, side by side where an application cannot afford even the restore time if something surprises us. Microsoft's own guidance recommends a new installation whenever the operating system or hardware is changing too.

How much downtime will we have?

For an in-place upgrade, the instance is offline from the write freeze through Setup, the cumulative update and the completion tasks — typically a single evening for one instance, and the runbook states the time budget for yours. The compatibility-level raise later is a metadata change per database, not an outage. Zero-downtime upgrades exist for Always On availability groups through Microsoft's rolling-upgrade procedure, and those estates are quoted separately.

How much does it cost?

$1,450 per server plus a $950 base fee — an estimate for standalone hosts with one instance each, confirmed as a written quote before work begins; you pay after you approve delivery. Three servers, for example, come to $5,300. Hosts with several named instances are confirmed in the quote, and failover cluster instances, availability groups and estates of ten or more instances are quoted per estate. SQL Server licences, Extended Security Updates and Azure charges are Microsoft's and billed to you by Microsoft, never through this fee.

How long does it take?

About 2 weeks per upgrade wave: assessment and approvals in the first two days, Service Pack 3, backups, restore test and the runbook by day five, the upgrade window on days six and seven, completion tasks and the component pass on days eight and nine, and handover on day ten. Several servers in one wave share the schedule and take their windows on different evenings. The compatibility-level raise follows your business cycle — inside the engagement when the baseline window fits, from the runbook as a short scheduled follow-up when it does not.

What happens to our SQL Agent jobs, linked servers and SSIS packages?

They survive an in-place upgrade, and we verify each one rather than assume it. Agent jobs, schedules, proxies and credentials carry over; maintenance plans are re-saved on the new runtime. Linked servers keep their definitions, but any still using the deprecated SQL Server Native Client provider are moved to the Microsoft OLE DB Driver for SQL Server, and third-party providers (Oracle, DB2, Access, ODBC) are checked for a 64-bit version installed on the host. SSIS packages in the catalog or msdb are moved to the upgraded instance in their existing format — the upgrade does not convert them — so running the SSIS Package Upgrade Wizard is a separate step we take on your decision, and packages that use custom components need versions built for the new runtime.

We run Reporting Services on the 2016 server. What happens to it?

SSRS 2016 was the last version installed by SQL Server Setup; from 2017 onward Reporting Services is a standalone product, and Setup cannot upgrade an SSRS 2016 instance in place. Where SSRS is in scope, we install the current standalone SSRS release, back up and restore the report server database and encryption key into it, verify reports, data sources and subscriptions, and retire the old instance. If your reports are heading to Power BI anyway, the SSRS to Power BI Migration is the better use of the money. Reporting Services in SharePoint-integrated mode was discontinued after 2016 and needs a redesign, which we quote separately.

What is a database compatibility level, and why don't you just set it to the newest one?

The compatibility level tells the engine which version's query-optimizer behaviour to use for a database: 130 is SQL Server 2016, 160 is 2022, 170 is 2025. Upgrading the engine does not change it, and that is deliberate. Raising it on upgrade night exposes every query to a new optimizer at once, and the ones that regress show up in month-end, not in your smoke test. Microsoft's documented workflow — and ours — is to leave each database at 130, let Query Store capture a baseline through a real business cycle, raise the level on your schedule, then use Query Store to find any plan that got worse and force its last known good plan while the root cause is fixed. You get the new engine's security and features immediately and the optimizer change under control.

What if something breaks during the upgrade — how do we roll back?

From the backup set and snapshot we proved before the window, against abort criteria you approved in writing. An in-place upgrade cannot be uninstalled back to 2016, and a database opened by the new engine cannot be restored on 2016, so the rollback is a restore of the pre-upgrade full backups (or a revert of the hypervisor snapshot) onto the 2016 build. The runbook states how long that takes, the go/no-go gate sits before the irreversible step, and if the criteria trip we call it rather than push through. Where an application cannot afford even the restore time, we recommend the side-by-side method, whose fallback is switching the connection string back.

Do we need new SQL Server licences to upgrade?

You need a licence that covers the target version: Software Assurance or subscription licences carry version rights, otherwise it is a new licence purchase, or SQL Server pay-as-you-go billing through Azure Arc. That is a commercial decision between you and Microsoft, and the assessment confirms which route you are on before any Setup runs. Buying licences, Software Assurance and true-ups are the Microsoft Volume Licensing service, and our SQL Server licensing calculator compares the routes.

Our SQL Server 2016 instances are on a failover cluster or in an availability group. Does this apply?

Not at the per-server price. Failover cluster instances and Always On availability groups are upgraded node by node and replica by replica under Microsoft's rolling-upgrade procedures, which change the runbook, the window and the risk model. We scope and quote those per estate after the assessment, including the case where you use the upgrade to redesign high availability.

Should we just buy Extended Security Updates instead?

ESUs buy time, not a future. Microsoft's current terms make SQL Server 2016 ESUs a paid subscription — through Azure Arc as a metered charge on your Azure subscription, or as a volume-licensing purchase for disconnected servers — and, unlike 2014, not free even on an Azure VM; they run for up to three years after end of support — for SQL Server 2016, through July 2029 per Microsoft's end-of-support overview — and cover security fixes only. If the upgrades cannot be scheduled before you need to be patched, the SQL Server 2016 ESU Enrollment through Azure Arc switches the subscription on and the Managed ESU and Legacy Server Lifecycle Service runs the stopgap, and the upgrade waves follow. If you have not decided which path fits, the SQL Server 2016 End of Support Options Assessment settles it; if the instances are leaving on-premises anyway, the SQL Server to Azure Migration Assessment is the better first step.

Our hosts are Windows Server 2016. Do we have to upgrade Windows too?

Not to reach SQL Server 2022, which installs on Windows Server 2016 or later. You do to reach SQL Server 2025, which requires Windows Server 2019 or later — and Windows Server 2016 itself leaves extended support on 12 January 2027 per Microsoft's product lifecycle, so the operating-system question is months, not years, behind the SQL one. Microsoft recommends a new installation rather than an in-place SQL upgrade when the operating system is changing as well, which is why we sequence the two: settle the Windows Server 2016 question with its own assessment, move the host with the Windows Server 2016 to 2025 Upgrade Service where that is the answer, then land SQL Server on the host that will still be supported.

Who owns this service at IT Partner?

Mike Mackey is the service owner. IT Partner has been a Microsoft partner since 2006 and delivers this alongside its SQL Server to Azure assessment and migration services, so the on-premises upgrade is scoped by the same people who would tell you if Azure were the better answer.

Didn’t find your question?

Ask it here. A real engineer answers by email within one business day — and if it’s a good one, it becomes part of this page so the next person finds it.

Answered by a person, one time, to your inbox. Nothing you type here is published without a human reviewing and anonymizing it first.

Often combined with

$1,450 per server + $950 tenant fee
2 weeks
Book a SQL Server upgrade scoping call