Exchange Server 2019 no Windows Server 2019 → Upgrade para Windows Server 2022: por que in‑place não é suportado e como migrar com segurança

Precisa levar seu Exchange Server 2019 de Windows Server 2019 para 2022? Entenda por que o in‑place upgrade não é suportado e veja dois caminhos 100% suportados — migração paralela e reinstalação com RecoverServer — com checklists, comandos e boas práticas.

Índice

Visão geral da pergunta

É possível fazer in‑place upgrade (manter arquivos, definições e apps) do Windows Server 2019 para Windows Server 2022 quando o servidor hospeda o Exchange Server 2019? Muitos administradores notam que o programa de instalação do Windows exibe apenas “instalação limpa” (clean install) e a opção “manter arquivos e apps” aparece desativada. Afinal, há algum passo faltando?

Resposta e solução (resumo direto)

  • Resposta curta: Não é suportado realizar in‑place upgrade do sistema operacional quando o Exchange está instalado. À época da conversa (abril/2024), a própria documentação da Microsoft indicava “não suportado”, e por isso o instalador tende a desativar a opção “manter arquivos e apps”.
  • Caminho suportado: efetue migração paralela (side‑by‑side) para um novo Windows Server 2022 ou reinstale o mesmo host com Setup /RecoverServer do Exchange (reconstruindo o servidor a partir dos metadados do AD).

Caminhos suportados

Opção A — Migração paralela para um novo servidor (recomendada)

  1. Preparar o Windows Server 2022 (mesma floresta/organização).
  2. Instalar Exchange Server 2019 no novo host com CU/SU suportados, em versão igual ou mais recente que a do servidor atual.
  3. Recriar/transferir configurações: certificados, URLs virtuais (Autodiscover/EWS/OAB/ActiveSync/OWA), Send/Receive Connectors, Accepted Domains, Address Book Policies, transport rules, agentes/integrações.
  4. Mover dados e serviços:
    • Caixas de correio (ou migrar para Exchange Online, se híbrido).
    • Pastas públicas (se houver).
    • Fluxo de e‑mail/DNS/LB para o novo servidor.
  5. Testar tudo (clientes Outlook/OWA/ECP, fluxo SMTP, mobilidade, backup).
  6. Descomissionar o servidor antigo (sair do LB/DNS, desinstalar Exchange, remover do domínio/hypervisor).

Opção B — Reinstalação no mesmo host usando Setup /RecoverServer

Útil para reaproveitar o mesmo hardware/nome sem in‑place upgrade. O objeto do servidor deve permanecer no AD.

  1. Backups completos (bancos, chaves/certificados, scripts, caminhos de DB/log, export de configurações).
  2. Anotar caminhos de bancos e logs e exportar certificados.
  3. Retirar do tráfego/LB, parar serviços; não desinstalar o Exchange.
  4. Reinstalar o Windows Server 2022 com mesmo nome e IP; ingressar no domínio.
  5. Executar Setup /Mode:RecoverServer com o mesmo build/CU do Exchange e, depois, aplicar CU/SU atuais.
  6. Restaurar/montar bancos, reimportar certificados e validar conectividade.

Resumo: ambos os caminhos são suportados. Se precisa de risco e downtime mínimos, escolha migração paralela. Se precisa manter o mesmo nome/IP e tem janela dedicada, RecoverServer é direto e previsível.


Por que “Manter arquivos, definições e apps” aparece desativado

Quando há Exchange instalado, o time de Exchange não dá suporte ao in‑place upgrade do Windows. Ainda que “possa funcionar”, você fica fora de suporte. O instalador do Windows detecta aplicativos críticos (Exchange, drivers, agents etc.) e, em muitos cenários, desabilita a opção de manter apps para evitar estados inconsistentes.

Outros fatores que podem desativar a opção (mesmo sem Exchange):

  • Mídia do Windows de edição ou idioma diferente do SO instalado.
  • Pré‑requisitos pendentes, políticas de compatibilidade, disk layout ou criptografia/BitLocker sem preparo.
  • Bloqueios de drivers, antivírus/EDR, ou “verificações de compatibilidade” que exigem instalação limpa.

Checklist rápido (boas práticas e pré‑requisitos)

  • Backups verificados: bancos (VSS), System State (se aplicável), chaves e certificados (PFX), scripts e export de configurações.
  • Atualizar Exchange de origem a um CU/SU suportado antes da migração; alinhar o mesmo CU entre origem e destino (especialmente para /RecoverServer).
  • Tamanho e capacidade: CPU/RAM/Disco conforme sizing do Exchange; volumes/logs com IOPS adequados; page file ajustado.
  • Documentar tudo: namespaces, URLs, conectores, Accepted Domains, políticas, transport rules, receive connectors customizados, portas de firewall.
  • Antivírus/EDR: aplicar exclusões específicas do Exchange (bancos, logs, pastas de transporte, process names).
  • Validação pós‑migração: Autodiscover, OWA/ECP, MAPI/HTTP, EWS, ActiveSync, SMTP in/out, mobilidade, jobs de backup e monitoramento.
  • Ambientes híbridos: validar HCW, conectores do Exchange Online, Autodiscover e federation conforme aplicável.

Tabela de decisão — qual caminho escolher?

CenárioMétodo recomendadoObservações
Servidor único (sem DAG) e janela curtaMigração paralelaPermite testar tudo antes do corte e reverter rapidamente.
Não pode mudar nome/IPRecoverServerReconstrói o Exchange no mesmo host lógico; requer preparação e boa cópia dos caminhos dos bancos.
Ambiente com DAGMigração paralela + mover cópiasAdicione o novo servidor ao DAG, replique DBs, troque ativação e remova o antigo.
Híbrido com M365Migração paralelaMenos risco para conectores/HCW; valide Autodiscover e fluxo híbrido.
Hardware antigo mas ainda útilRecoverServerReaproveita o mesmo servidor físico/VM, mantendo identidade.

Passo a passo — Opção A (migração paralela)

Preparação do novo servidor

  1. Instale o Windows Server 2022, aplique updates, defina IPs, DNS, NTP e junte ao domínio.
  2. Instale prereqs do Exchange (funções do IIS/RSAT/etc.). O Setup.exe pode instalar itens faltantes.
  3. Instale o Exchange 2019 no novo servidor com um CU suportado (igual ou mais novo que o vigente na origem) e aplique o SU atual.

Replicar configurações

Exporte do servidor antigo e aplique no novo. Exemplos úteis:

# Exportar certificados com chave privada
$pwd = Read-Host "Senha do PFX" -AsSecureString
Get-ExchangeCertificate | Where-Object {$_.HasPrivateKey} |
ForEach-Object {
  $file = "C:\Temp\cert-$($_.Thumbprint).pfx"
  Export-ExchangeCertificate -Thumbprint $_.Thumbprint -FileName $file -Password $pwd
}

Capturar URLs virtuais atuais

Get-OwaVirtualDirectory | fl Server,InternalUrl,ExternalUrl
Get-EcpVirtualDirectory | fl Server,InternalUrl,ExternalUrl
Get-WebServicesVirtualDirectory | fl Server,InternalUrl,ExternalUrl
Get-MapiVirtualDirectory | fl Server,InternalUrl,ExternalUrl
Get-OabVirtualDirectory | fl Server,InternalUrl,ExternalUrl
Get-ActiveSyncVirtualDirectory | fl Server,InternalUrl,ExternalUrl

Exportar conectores

Get-SendConnector | Select Name,AddressSpaces,SmartHosts,Port,SourceTransportServers | Export-Csv C:\Temp\send-connectors.csv -NoTypeInformation
Get-ReceiveConnector | Select Server,Name,Bindings,RemoteIPRanges,AuthMechanism,PermissionGroups | Export-Csv C:\Temp\recv-connectors.csv -NoTypeInformation 

No novo servidor, importe certificados e vincule aos serviços:

# Importar e habilitar
$pwd = Read-Host "Senha do PFX" -AsSecureString
$bytes = Get-Content C:\Temp\cert-THUMBPRINT.pfx -Encoding Byte
$cert = Import-ExchangeCertificate -FileData $bytes -Password $pwd
Enable-ExchangeCertificate -Thumbprint $cert.Thumbprint -Services "IIS,SMTP"

Configure as URLs virtuais segundo o seu namespace padrão (interno/externo):

Set-OwaVirtualDirectory -Identity "EXCH2022\owa (Default Web Site)" `
  -InternalUrl https://mail.contoso.com/owa -ExternalUrl https://mail.contoso.com/owa
Set-EcpVirtualDirectory -Identity "EXCH2022\ecp (Default Web Site)" `
  -InternalUrl https://mail.contoso.com/ecp -ExternalUrl https://mail.contoso.com/ecp
Set-WebServicesVirtualDirectory -Identity "EXCH2022\EWS (Default Web Site)" `
  -InternalUrl https://mail.contoso.com/ews/exchange.asmx -ExternalUrl https://mail.contoso.com/ews/exchange.asmx
Set-MapiVirtualDirectory -Identity "EXCH2022\mapi (Default Web Site)" `
  -InternalUrl https://mail.contoso.com/mapi -ExternalUrl https://mail.contoso.com/mapi
Set-OabVirtualDirectory -Identity "EXCH2022\oab (Default Web Site)" `
  -InternalUrl https://mail.contoso.com/oab -ExternalUrl https://mail.contoso.com/oab
Set-ActiveSyncVirtualDirectory -Identity "EXCH2022\Microsoft-Server-ActiveSync (Default Web Site)" `
  -InternalUrl https://mail.contoso.com/Microsoft-Server-ActiveSync -ExternalUrl https://mail.contoso.com/Microsoft-Server-ActiveSync

Mover caixas de correio e pastas públicas

Para migração dentro da mesma organização (on‑premises), use New-MoveRequest para mover caixas de correio do servidor antigo para o banco do novo servidor:

# Exemplo: mover todas as caixas do servidor antigo para DB01 no novo
Get-Mailbox -Server EXCH2019 | New-MoveRequest -TargetDatabase "DB01"

Acompanhar progresso

Get-MoveRequest | Get-MoveRequestStatistics | ft DisplayName,Status,PercentComplete -Auto 

Inclua caixas especiais (arbitration, audit, discovery e PF). Exemplo:

Get-Mailbox -Arbitration | New-MoveRequest -TargetDatabase "DB01"
Get-Mailbox -AuditLog | New-MoveRequest -TargetDatabase "DB01"
Get-Mailbox -Monitoring | New-MoveRequest -TargetDatabase "DB01"
Get-Mailbox -PublicFolder | New-MoveRequest -TargetDatabase "DB01"

Ajustar fluxo de e‑mail e DNS/LB

  • Recrie Receive Connectors customizados no novo servidor com as mesmas ligações/intervalos de IP.
  • Atualize o balanceador (VIP/pool) para incluir o novo servidor e excluir o antigo após validação.
  • Aponte registros DNS (interno/externo) para o novo servidor/serviço conforme o design do namespace.

Validações essenciais

# Saúde de serviços
Test-ServiceHealth

Conectividade de protocolos

Test-OwaConnectivity -HostName mail.contoso.com
Test-EcpConnectivity -HostName mail.contoso.com
Test-MAPIConnectivity
Test-WebServicesConnectivity -ClientAccessServer EXCH2022
Test-ActiveSyncConnectivity -URL [https://mail.contoso.com/Microsoft-Server-ActiveSync](https://mail.contoso.com/Microsoft-Server-ActiveSync) 

Descomissionar o servidor antigo

  1. Confirme que não há caixas (incluindo arbitrations/monitoring) remanescentes no antigo.
  2. Remova conectores específicos do servidor antigo, tarefas/agents e do LB/DNS.
  3. Execute a desinstalação do Exchange no antigo. Ao final, remova do domínio e do hypervisor.

Passo a passo — Opção B (Setup /RecoverServer no mesmo host)

Antes da reinstalação

  • Documente paths dos bancos e logs (por exemplo, D:\DBs\DB01.edb, E:\Logs\DB01).
  • Exporte certificados em PFX com senha.
  • Salve scripts, agentes (backup/antivírus) e anotações de conectores/URLs.
  • Planeje a suspensão do tráfego (LB/DNS), parando serviços do Exchange no corte.

Reinstalação do Windows e recuperação do Exchange

  1. Instale o Windows Server 2022, aplique updates, configure IPs/hostname idênticos e junte ao domínio.
  2. Garanta que o objeto do servidor Exchange ainda existe no AD (não desinstalado anteriormente).
  3. Instale pré‑requisitos (IIS/RSAT) e execute: .\Setup.exe /Mode:RecoverServer /IAcceptExchangeServerLicenseTerms Use o mesmo CU que o servidor tinha antes. Em seguida, atualize para o CU/SU atuais.
  4. Recrie os paths de bancos/logs (mesmas letras/unidades). Se os discos foram preservados, mantenha as letras e mount points.
  5. Monte os bancos, reimporte certificados e valide conectividade (testes acima).

Ambientes com DAG (Database Availability Group)

Se você usa DAG, a migração é ainda mais segura com paralelismo:

  1. Adicione o novo servidor ao DAG: Add-DatabaseAvailabilityGroupServer -Identity DAG01 -MailboxServer EXCH2022
  2. Crie cópias de cada base: Add-MailboxDatabaseCopy -Identity DB01 -MailboxServer EXCH2022
  3. Ative as bases no novo servidor e verifique replicação/lag.
  4. Remova cópias do servidor antigo e, por fim, remova-o do DAG: Remove-DatabaseAvailabilityGroupServer -Identity DAG01 -MailboxServer EXCH2019

Edge Transport, agentes e integrações

  • Edge Transport: exporte Edge Subscriptions e conectores; recrie o Edge no Windows Server 2022 e refaça a assinatura (re-subscribe).
  • Antivírus/backup/EDR: instale versões compatíveis com Windows Server 2022 e Exchange 2019. Aplique exclusões específicas do Exchange.
  • Integrações SMTP/Apps/Multifator: valide autenticação, TLS e ranges de IP nos conectores.

Riscos comuns e como evitá‑los

RiscoComo mitigar
Mover caixas sem alinhar CUsInstale no destino o mesmo CU (ou mais novo) antes de iniciar move requests.
Perder identidades de certificadosExportar PFX com privada; registrar onde cada certificado é habilitado (IIS/SMTP).
Receive Connector incompletoReaplicar bindings, intervalos de IP e PermissionGroups exatamente como no antigo.
Antivírus bloqueando I/O do ExchangeAplicar exclusões para pastas de banco/log, Transport, e processos do Exchange.
Queda de Autodiscover/OWA pós‑corteAtualizar VIP/DNS e certificar que URLs virtuais estão corretas, internas e externas.

Perguntas frequentes

“Consegui fazer in‑place upgrade e funcionou; posso seguir assim?”
Relatos de sucesso não alteram o status de suporte. Em produção, escolha side‑by‑side ou /RecoverServer para não ficar fora de suporte em incidentes.

“Posso desinstalar o Exchange, atualizar o Windows e reinstalar?”
Se você desinstalar o Exchange, o objeto do servidor no AD geralmente é removido, inviabilizando RecoverServer. Isso vira uma nova instalação, exigindo migração paralela. Planeje corretamente antes de remover.

“Qual a ordem de atualização: Exchange ou Windows?”
Como in‑place de Windows não é suportado com Exchange instalado, a prática segura é: novo Windows 2022Exchange com CU suportadomigrar cargasretirar antigo. Para RecoverServer, recupere com o mesmo CU e depois atualize.

“E quanto ao .NET, IIS e pré‑requisitos?”
Instale versões compatíveis com o CU alvo. O Setup.exe do Exchange bloqueia versões incompatíveis e oferece instalar features do Windows necessárias.


Plano de rollback (rapidinho)

  • Migração paralela: mantenha o servidor antigo íntegro até validar 100% o novo. Se algo sair do esperado, volte VIP/DNS/LB e cancele move requests pendentes.
  • RecoverServer: snapshot/backup do SO antes do corte; se necessário, restaure o Windows antigo e remonte bancos enquanto corrige o plano.

Modelo de roteiro de mudança (cutover)

  1. Freeze de alterações no Exchange/DNS/LB.
  2. Backup final e health check.
  3. Mover caixas de baixa criticidade → validar → mover restante.
  4. Trocar VIP/DNS e liberar tráfego.
  5. Validações funcionais e de desempenho.
  6. Descomissionar antigo (após N dias de estabilidade).

Comandos úteis de saúde e limpeza

# Filtrar move requests concluídos com sucesso e limpar
Get-MoveRequest -MoveStatus Completed | Remove-MoveRequest

Verificar filas de transporte

Get-Queue | ft Identity,MessageCount,Status -Auto

Verificar espaço em disco dos volumes de banco/log

Get-PSDrive -PSProvider FileSystem | ft Name,Used,Free

Verificar serviços essenciais do Exchange

Get-Service MSExchangeIS, MSExchangeTransport, W3SVC | ft Name,Status 

Boas práticas adicionais

  • Logs separados dos bancos em discos distintos para resiliência.
  • Time Service consistente (NTP) para evitar problemas de Kerberos/TLS.
  • IPv6: se não usar, desabilite cuidadosamente conforme política; se usar, garanta DNS/rotas adequadas.
  • Monitoramento: configure alertas de fila SMTP, espaço em disco, latência de I/O e serviços.
  • Licenciamento: confirme chaves/ativação do Windows e do Exchange no novo ambiente.

Conclusão

Ao migrar do Windows Server 2019 para 2022 com Exchange Server 2019, o atalho do in‑place upgrade não é suportado. Em vez disso, adote um dos dois caminhos suportadosmigração paralela ou Setup /RecoverServer. Ambos oferecem previsibilidade, permitem validações robustas e preservam o suporte do fabricante. Com planejamento, checklists e testes, a transição é segura e transparente para os usuários.


Apêndice — checklist imprimível

ItemStatusNotas
Backups (bancos, System State, PFX)[ ]
Exchange origem em CU/SU suportado[ ]
Servidor Windows 2022 preparado e no domínio[ ]
Exchange 2019 instalado no novo (mesmo ou > CU)[ ]
Certificados importados e vinculados (IIS/SMTP)[ ]
URLs virtuais configuradas[ ]
Conectores Send/Receive recriados[ ]
Move requests criados e finalizados[ ]
Cutover de DNS/LB concluído[ ]
Validações pós‑corte (OWA/ECP/EWS/MAPI/SMTP)[ ]
Backup reativado/validado no novo servidor[ ]
Desinstalação do Exchange no antigo[ ]

Nota final: relatos de “deu certo aqui” não mudam o suporte. Em ambientes de produção, siga side‑by‑side ou /RecoverServer para garantir atendimento do fabricante e reduzir risco operacional.

Índice