SQL Server 2016 Chegou ao Fim do Suporte: Opções em 2026
Neste artigo
O suporte extendido do SQL Server 2016 terminou a 14 de Julho de 2026. Instâncias em produção sem Extended Security Updates deixaram de receber patches de segurança — incluindo correções críticas. Este artigo cobre o calendário exacto, o que são os ESU (e onde correm: on-premise ou Azure), os caminhos de upgrade para SQL Server 2022/2025 e a decisão prática para PME com aplicações antigas a depender da versão.
O calendário oficial, verbatim
A página de lifecycle do SQL Server 2016 (Fixed Lifecycle Policy) confirma as datas:
| Fase | Início | Fim |
|---|---|---|
| Suporte mainstream | 01/06/2016 | 14/07/2021 |
| Suporte extendido | 15/07/2021 | 14/07/2026 |
| ESU Year 1 | 15/07/2026 | 13/07/2027 |
| ESU Year 2 | 14/07/2027 | 18/07/2028 |
| ESU Year 3 | 19/07/2028 | 17/07/2029 |
| Service Pack 3 (última) | 15/09/2021 | 14/07/2026 |
O Service Pack 3 é a última compilação com patches no regime normal. A partir de 14 de Julho de 2026, só com ESU activo a instância recebe correcções de segurança — não há mais hotfixes funcionais nem casos de suporte regulares.
ESU: como funciona e onde corre
Os Extended Security Updates são patches de segurança (apenas de segurança) para as vulnerabilidades classificadas como Critical/Important, entregues via Microsoft Update ou Catalog. Três vias de obtenção:
- Azure Arc (grátis em Azure VMs, pago on-premise) — instâncias ligadas ao Azure Arc recebem ESU sem custo adicional se correrem em VMs Azure (IaaS). Servidores on-premise/other-cloud pagam pela licença ESU (por core, com SA ou pay-as-you-go via Arc).
- Azure SQL Managed Instance com link — migração mínima: a instância gerida aceita bases 2016 com compatibilidade mantida, e o fim de suporte deixa de ser problema (a Microsoft gere o ciclo).
- ESU on-premise puro — compra directa do ESU (via SA ou licença avulsa), patches manuais como sempre.
Importante para PME: com o SQL Server 2016 a Microsoft uniformizou o preço do ESU em 100% do custo de licença (2025) por ano, em todos os três anos e em todos os canais (Azure, on-premise e outras clouds) — um total de ~300% da licença ao fim de três anos, a preços públicos. Descontos podem reduzir significativamente o valor (até 55% em Azure, 40% via Azure Arc, 15% via volume licensing). Nota: o histórico 75%/150%/300% circulante em blogs refere-se ao programa de volume licensing e não é suportado por nenhuma página primária da Microsoft para o SQL Server 2016. Nos VMs Azure, o ESU já não é gratuito para o 2016 (a gratuidade acabou com o SQL Server 2014): paga-se à mesma taxa em qualquer lado.
Nota: as instâncias SQL 2016 com Azure Arc activo e a extensão SQL enabled recebem o ESU programaticamente — sem compra manual no primeiro ano, quando em Azure VM. Verificar o estado na página SQL enabled instances do Arc antes de decidir comprar.
Caminho 1 — Upgrade in-place para SQL Server 2022/2025
A rota mais directa quando o hardware/OS o permite. Considerações práticas:
- SO hospedeiro: SQL 2016 tipicamente corre em Windows Server 2016/2019. SQL 2022/2025 exigem Windows Server 2016+ (2022) e 2016+ (2025) — verificar a matriz de compatibilidade antes de assumir in-place. Por vezes o SO é o blocking factor, não o SQL.
- Compatibilidade de aplicações: mudar o database compatibility level (130 → 160) passo a passo, não de imediato. O upgrade in-place mantém o compatibility level antigo — as aplicações continuam a funcionar. As features novas ficam atrás de opt-in. Este é o caminho menos disruptivo.
- Deprecated features: DBCC commands antigos, SQL Mail, e sobretudo CLR assemblies não assinados — correr o Data Migration Assistant (DMA) para inventariar breaking changes antes do upgrade.
- Order: backup completo → DMA assessment → upgrade in-place (ou side-by-side) → validation de queries críticas → compatibility level upgrade em janela controlada.
O lado-a-lado (side-by-side) é a alternativa mais segura: instalar SQL 2022/2025 numa máquina nova, mover bases com backup/restore ou log shipping, cortar as connection strings. Downtime mínimo, rollback fácil (a 2016 fica intacta).
Caminho 2 — Migração para Azure SQL
Para quem já tem Azure (ou quer desapegar-se de patching de SO), três destinos distintos:
| Destino | Compatibilidade | Esforço | Quando faz sentido |
|---|---|---|---|
| Azure SQL Database | Alta para OLTP standard, sem SQL Agent completo | Baixo-médio (DMA + fixes) | Apps cloud-ready, sem dependências de SQL Agent/jobs complexos |
| Azure SQL Managed Instance | Quase total (linked server, Agent, cross-db) | Baixo | Caminho natural para 2016 — “lift and shift” com compatibilidade de features |
| SQL Server em Azure VM | Total | Mínimo (IaaS) | ESU grátis, controlo total do SO, mas SQL continua a ser gerido por ti |
O Azure SQL Managed Instance é a proposta mais frequente para PME com apps 2016 legadas: mantém o modelo de instância (jobs, linked servers, cross-database queries) e elimina o fim de suporte — a compatibilidade é sustentada pela plataforma. O Azure Database Migration Service orquestra a migração online (downtime do corte final em minutos).
Atenção: antes de qualquer migração para Azure SQL Database (não MI), validar features incompatíveis no DMA — CLR, Service Broker avançado, filestream e alguns tipos de replicação não são suportados. É o erro clássico de migrar “porque a app funciona” e descobrir dependências na hora de produção.
Caminho 3 — ESU on-premise como ponte
Se a migração não é viável em 2026 (app de terceiros aguarda certificação, orçamento, etc.):
- Comprar ESU Year 1 e tratá-lo como ponte com prazo: 13/07/2027 é a nova deadline, não a 14/07/2026.
- Activar Azure Arc desde já nos servidores SQL — além do pagamento simplificado, dá o inventário automático de instâncias e o posture management do Defender for SQL.
- Planear a migração no período do Year 1 — o custo por ano sobe e o risco de vulnerability disclosure em 2016 aumenta à medida que os investigadores olham para as diferenças de código entre 2016 e versões suportadas.
Verificar o estado actual da frota SQL
Inventário mínimo antes de decidir:
SELECT
SERVERPROPERTY('ProductVersion') AS ProductVersion,
SERVERPROPERTY('ProductLevel') AS ProductLevel, -- SP3?
SERVERPROPERTY('Edition') AS Edition,
SERVERPROPERTY('ProductMajorVersion') AS Major
Um ProductLevel sem “SP3” em 2016 significa que nem o último Service Pack está aplicado. Instalar SP3 antes de qualquer outra decisão (é requisito para ESU). O inventário multi-servidor faz-se com Azure Arc SQL enabled ou com um scan de CMDB; em PME raramente há mais de 3–5 instâncias.
Erros comuns
| Problema | Causa | Solução |
|---|---|---|
| Instância sem patches após 14/07/2026 | Sem ESU activo nem migração | Activar Arc + ESU (grátis em Azure VM) ou comprar ESU on-premise |
| Upgrade in-place falha a meio | SO hospedeiro sem suporte à versão alvo | Verificar a matriz OS-SQL antes; usar side-by-side se falhar |
| App quebra após upgrade | Compatibility level alterado de imediato | Manter o level antigo no upgrade; subir em janela separada |
| Migração para SQL Database trava | Features não suportadas (CLR, Service Broker) | Usar Managed Instance em vez de Database, ou corrigir as dependências |
| ESU comprado mas patches não chegam | Extensão SQL do Arc não enabled | Activar a extensão e verificar o estado no portal Arc |
| Backup/restore falha ao mover bases | Versão de destino anterior à de origem | Restore exige versão igual ou superior; usar BACPAC/DMA para cenários inversos |
Checklist rápido
- ✓ Inventário de todas as instâncias SQL 2016 (versão, edição, SP level, SO hospedeiro)
- ✓ SP3 aplicado em todas as instâncias 2016
- ✓ Decisão ESU vs upgrade documentada com owner e prazo
- ✓ Azure Arc activo nos servidores SQL (se ESU Azure VM ou gestão centralizada)
- ✓ DMA assessment executado nas bases críticas
- ✓ Backups completos recentes e testados (restore real, não só job verde)
- ✓ Plano de rollback definido para o upgrade (side-by-side preferred)
- ✓ Compatibility level com plano de subida separado do upgrade binário
Como evitar no futuro
- Inventário SQL centralizado (Arc/CMDB) — versões e SP levels visíveis sem esforço manual.
- Ciclo de upgrade a cada 2–3 anos — apanhar as versões no mainstream, nunca no fim do extendido.
- Subscrever o feed do SQL Server end of support e o calendário de lifecycle das versões em produção.
- Compatibilidade de apps de terceiros no contrato de manutenção — exigir roadmap de suporte ao fornecedor da app (a verdadeira trava de upgrades em PME).
- Testar restores trimestralmente — migração de emergência sem backup testado é inviável.
Artigos Relacionados
- Diagnóstico de Anomalias no SQL Server: Guia Prático para Sysadmins — monitorizar a instância enquanto o upgrade não chega.
- Obter a chave / key do SQL Server 2016-2019 em PowerShell — inventariar as licenças antes do upgrade.
- Hyper-V no Windows Server: Virtualização Prática para PME com — o side-by-side do upgrade pode correr em VM.
- Azure IaaS: Optimizar Custos Cloud para PMEs em 2026 — custo real do ESU grátis em Azure VM vs on-premise.