Migração do SQL Server para o Azure SQL

Aborda Data Migration Assistant, Azure Database Migration Service, BACPAC e Log Replay Service para migrar SQL Server para Azure.

A seção de migração do exame DP-300 pergunta qual ferramenta usar em cada cenário. Mais do que memorizar nomes, é preciso entender qual etapa do pipeline cada ferramenta cobre. Como numa mudança de casa, a migração de banco de dados segue uma sequência: avaliar, escolher o destino, mover os dados e verificar.

 

Medir o Novo Espaço — Data Migration Assistant

Antes de se mudar, você verifica se os móveis cabem pela porta. Na migração de banco de dados, esse papel cabe ao .

O DMA conecta-se a uma instância local do SQL Server e detecta recursos obsoletos (deprecated), sintaxe não suportada pelo Azure SQL Database, consultas entre bancos de dados e muito mais. Ele gera um relatório com correções recomendadas. Sem o DMA, os bloqueios surgem durante a execução da migração — é como perceber que o sofá não cabe pela porta depois que o caminhão chegou.

O DMA também migra esquemas e dados de bancos de dados pequenos. O vai além: captura uma carga de trabalho, reproduz-a nos ambientes de origem e destino simultaneamente e compara o desempenho no nível de consulta. Use-o quando quiser validar que o comportamento das consultas não vai regredir.

 

Escolher o Destino Certo — Seleção da Plataforma

Antes de fazer as malas, você decide para que tipo de imóvel vai se mudar. A família Azure SQL oferece três opções.

é um serviço PaaS totalmente gerenciado. Não suporta recursos no nível de instância do SQL Server — SQL Agent Jobs, CLR, Linked Servers e consultas entre bancos de dados não estão disponíveis. É adequado para cargas de trabalho nativas da nuvem. suporta a maioria dos recursos no nível de instância e é a escolha natural para migrações lift-and-shift. Quando a avaliação com DMA revelar dependências no nível de instância, a Managed Instance é a escolha realista. é uma abordagem IaaS para cenários que exigem controle total do sistema operacional, ao custo de assumir toda a responsabilidade de gerenciamento da infraestrutura.

 

Escolher Como Mover os Dados — Azure Database Migration Service

Você vai fechar o estabelecimento durante a mudança ou mantê-lo aberto? Essa é a diferença entre migração offline e online.

é o serviço totalmente gerenciado para a movimentação real dos dados. Você configura um projeto no Azure Portal e o Azure cuida do resto. A interrompe o banco de dados de origem, copia todos os dados para o destino e redireciona a conexão. Uma instância DMS de nível Standard é suficiente, mas o tempo de inatividade equivale ao tempo total de cópia. A mantém o banco de dados em funcionamento. Após restaurar um backup completo inicial no destino, aplica continuamente as alterações via CDC ou streaming de log de transações. O DBA executa o cutover quando está pronto, limitando o tempo de inatividade a poucos minutos. A migração online exige uma ; o nível Standard não a suporta.

 

Tudo em Uma Caixa — BACPAC

Para uma mudança pequena, o porta-malas do carro é suficiente. empacota o esquema (DDL) e os dados (DML) de um banco de dados em um único arquivo . A exportação e importação são feitas com ou pelo Azure Portal.

O BACPAC é adequado onde o tempo de inatividade é aceitável, para bancos de dados pequenos ou ambientes de desenvolvimento e teste. Se os dados mudarem durante a exportação, a consistência é comprometida — pare a aplicação antes de exportar. Para bancos de dados de centenas de gigabytes ou mais, o tempo de exportação e importação torna o BACPAC impraticável.

 

Um Caminho de Precisão para Managed Instance — Log Replay Service

Imagine um técnico montando móveis seguindo folhas de instruções uma a uma, em ordem estrita. funciona assim: reproduz arquivos de backup de log de transações sequencialmente para restaurar uma Managed Instance até um ponto-alvo. O LRS é e não pode ter o Azure SQL Database como destino.

Faça upload de um backup completo do SQL Server local para o Azure Blob Storage e continue com backups de log de transações. O LRS restaura o backup completo na MI e reproduz os logs em ordem. O banco de dados permanece em estado até que um comando de cutover o coloque online. O LRS permite migrar para a Managed Instance sem DMS e oferece controle manual da janela de cutover. Os nomes dos arquivos devem corresponder à sequência de transações, e as permissões ao Blob Storage (SAS token ou Managed Identity) devem ser configuradas.

 

Tabela Comparativa e Armadilhas Comuns no Exame

Se o cenário envolve avaliação, escolha DMA ou DEA. Para movimentação real de dados, escolha entre DMS, LRS ou BACPAC.

| Ferramenta | Papel | Destino | Tempo de inatividade | |:--|:--|:--|:--| | DMA | Avaliação + migração pequena | Azure SQL DB / MI | Nenhum (apenas avaliação) | | DEA | Comparação de desempenho | Azure SQL DB / MI | Nenhum | | DMS Offline | Cópia completa e redirecionamento | DB / MI / VM | Sim (Standard OK) | | DMS Online | Sincronização + cutover | DB / MI / VM | Mínimo (Premium obrigatório) | | BACPAC | Pacote portátil | Azure SQL DB / MI | Sim (DBs pequenos) | | LRS | Reprodução sequencial de logs | Apenas MI | Curto (cutover manual) |

Armadilhas frequentes: DMS Online exige nível Premium — escolher Standard é errado. O LRS é exclusivo de MI e não migra para Azure SQL Database. O BACPAC exige parar a aplicação durante a exportação para consistência dos dados.

!Comparação de 4 ferramentas de migração

Depois da Mudança — Cutover e Validação Pós-Migração

Mover as caixas não significa que tudo está concluído. Ainda é preciso verificar se tudo funciona no novo ambiente.

Na migração online, o é um ponto sem retorno. Até o cutover, o banco de dados de origem continua ativo e a reversão é possível. Planeje uma estratégia de — se a aplicação se conecta por um nome DNS em vez de IP, basta alterar um registro DNS para reverter. A validação pós-migração vai além de comparar contagens de linhas: realize comparações de checksum, verificação de registros de amostra em tabelas-chave e testes de integração. Ative o antes da migração para comparar o desempenho antes e depois. Mantenha o igual ao da origem no início e aumente-o gradualmente.

Resumo do Exame

"Avaliação de compatibilidade", "verificar recursos obsoletos" -- Data Migration Assistant (DMA) "Comparação de desempenho", "reprodução de carga de trabalho" -- Database Experimentation Assistant (DEA) "Minimizar tempo de inatividade", "operação 24/7", "cutover manual" -- DMS Online (nível Premium obrigatório) "Tempo de inatividade aceitável", "janela de manutenção" -- DMS Offline (nível Standard OK) "Banco de dados pequeno", "portabilidade", "pacote portátil" -- BACPAC (SqlPackage.exe) "Somente Managed Instance", "restauração de cadeia de logs", "controle manual de cutover" -- Log Replay Service (LRS) "Usar LRS com Azure SQL Database" -- Não é possível (apenas MI) "DMS Online com nível Standard" -- Não é possível (nível Premium obrigatório) "Recursos no nível de instância" (SQL Agent, CLR, Linked Server) -- Azure SQL Managed Instance "Reversão após cutover" -- Estratégia de DNS cutover "Comparação de desempenho antes e depois" -- Ativar Query Store com antecedência "Estratégia de nível de compatibilidade" -- Manter o do origem e aumentar gradualmente

DMA = verificação pré-mudança, DMS = transporte de dados, LRS = reprodução de logs apenas para MI, BACPAC = pacote portátil em pequena escala

Voltar à lista do blog