July 12, 2026 is the date Microsoft ends Extended Support for SQL Server 2016. That means no more security patches, no more compliance coverage, and — if your organization is subject to PCI-DSS, HIPAA, or SOC 2 — a real audit problem starting the day after.
If you're still running SQL Server 2016, you have roughly 60 days to act. Here's exactly what your options are and how to evaluate them.
What Actually Happens on July 12, 2026
Microsoft stops releasing security updates for SQL Server 2016. That means:
- Unpatched vulnerabilities will accumulate — CVEs will be published, exploits will be released, and your instance won't be patched against them
- Compliance auditors will flag it — Running unsupported software is a finding under PCI-DSS 6.3, HIPAA technical safeguards, and virtually every SOC 2 security category
- Microsoft Support won't help you — Production incidents on end-of-life SQL Server get no Microsoft support
- Cyber insurance gets complicated — Many policies exclude claims on systems running unsupported software
None of this is theoretical. It's the same playbook we watched with SQL Server 2012 (EOL October 2022) and 2014 (EOL July 2024). Organizations that didn't act ended up scrambling, paying premium rates for emergency migrations, or accepting real security exposure.
Your Three Options
Option 1: Upgrade to SQL Server 2019 or 2022
The most straightforward path. SQL Server 2022 entered mainstream support in November 2022 and has extended support until 2033.
What changes from 2016:
- Compatibility level — In-place upgrade keeps the compat level intact, which is good. But you're not getting newer cardinality estimator improvements until you raise the compat level.
- Deprecated features — Run the Upgrade Advisor before migration to surface any deprecated syntax.
- TempDB improvements — SQL Server 2019+ has multiple TempDB data files enabled by default. This alone often improves concurrency significantly.
- Resumable index operations, accelerated database recovery — real operational improvements you gain immediately on 2019+
Timeline: 4–8 weeks for a careful migration with testing. Side-by-side approach is safer than in-place upgrade for production systems.
Option 2: Migrate to Azure SQL
If you're on Azure or planning to move there, Azure SQL Managed Instance is the closest lift-and-shift target for SQL Server 2016.
Advantages:
- Microsoft manages patching, backups, and high availability
- No end-of-life concern — Microsoft keeps the platform current
- Azure Hybrid Benefit lets you apply existing SQL Server licenses to reduce cost significantly
- Built-in HA/DR without complex AlwaysOn configuration overhead
Gotchas for SQL Server 2016 migrations to Azure SQL:
- SQL Agent jobs — Azure SQL Database doesn't have SQL Agent. Azure SQL Managed Instance does, but it's not 1:1. Inventory your jobs before you start.
- Linked servers — Limited or unavailable in Azure SQL. If you use cross-database or cross-server queries, this requires rearchitecting.
- CLR assemblies — Only SAFE CLR is supported. Inventory yours before migration.
- Distributed transactions — MSDTC isn't supported in Azure SQL.
- Max database size — Managed Instance General Purpose tops out at 16 TB.
Timeline: 6–12 weeks depending on application complexity. Use the Azure Database Migration Service to assess compatibility first.
Option 3: Extended Security Updates (ESUs)
If you genuinely can't migrate by July 12, Extended Security Updates buy you time — for a price.
What ESUs cost:
- Year 1 (July 2026 – July 2027): 75% of your annual license fee
- Year 2 (July 2027 – July 2028): 100% of your annual license fee
- Year 3 (July 2028 – July 2029): 125% of your annual license fee
If you're on Azure, ESUs for SQL Server 2016 VMs are free through Azure Arc.
ESUs are a bridge, not a solution. If you buy ESUs, you're committing to migrating within 3 years anyway.
Common Migration Gotchas from SQL Server 2016
Cardinality Estimator Behavior Changes
SQL Server 2016 defaults to the new cardinality estimator (CE) at compatibility level 130. But many shops migrating from 2012 or 2014 left the legacy CE in place via trace flag 9481. When you upgrade and reset compat level, you finally hit the new CE. Some queries run faster; some regress. Test your workload with the Database Experimentation Assistant (DEA) before cutover.
Deprecated Feature Usage
Run this on your 2016 instance before migration:
SELECT * FROM sys.dm_os_performance_counters WHERE counter_name = 'Deprecated Features' AND cntr_value > 0;
Any counter above zero is a feature you're using that may behave differently or not exist in 2022.
TempDB File Count
If you're running SQL Server 2016 on a machine with 8+ cores and have only one TempDB data file, you're likely hitting TempDB allocation contention. Post-migration, set TempDB file count to match your logical processor count (up to 8 files).
AlwaysOn Availability Groups Upgrade Sequence
If you're running AlwaysOn AGs in SQL Server 2016, upgrade order matters. Upgrade secondaries first, then fail over and upgrade the old primary. Never upgrade all nodes simultaneously.
What to Do in the Next 60 Days
The clock is running. Here's a practical sequence:
- Inventory your instances — How many SQL Server 2016 instances do you have, where are they, and what's running on them?
- Run the assessment tools — Database Experimentation Assistant (DEA) and Data Migration Assistant (DMA) are free. Run them against your databases.
- Choose your path per workload — Make the call per workload, not globally.
- Stand up your target environment — Get it running so you can start testing restores and application connectivity now.
- Set a cutover date before July 12 — Work backward from July 12 and book it. Without a hard date, migrations slip.
Compliance Is the Non-Negotiable Part
Running SQL Server 2016 past July 12 isn't just a technical risk — it's a compliance finding. Under PCI-DSS v4.0 Requirement 6.3.3, all software must be protected from known vulnerabilities. Running unpatched software on data is a direct path to audit findings and potential penalties.
If your organization undergoes any external audit after July 12, the auditor will ask: "Are you running any unsupported software?" Saying "yes, SQL Server 2016, but we're working on it" is a finding.
The Bottom Line
60 days is enough time to migrate a SQL Server 2016 instance if you start today. It's not enough time if you wait another three weeks, scope it, realize your team doesn't have the bandwidth, and then try to engage help.
The organizations that handle SQL Server EOL transitions well are the ones that start the assessment before they're in a hurry.