Migração On-Premise para Azure SQL (PARTE1)

Olá, espero que você esteja bem! 😉

Conforme planejamento e metas traçadas para 2025

Quem ainda não viu meu post de retrospectiva com algumas metas, segue link, confira! https://ederlelis.com.br/blog/retrospectiva-ano-2024/

… vou seguir com meus objetivos e iniciar uma “série” de post cujo assunto será “Migração On-Premise para Azure SQL” Portanto darei o nome deste de hoje como …PARTE1.

Para migrar um database do On-Premise para o Azure SQL temos várias opções.

Cada opção tem suas vantagens e desvantagens específicas. Dependendo por exemplo do tamanho das databases, da complexidade do ambiente, do tempo aceitável de inatividade durante processo de migração, dentre outros fatores.

A princípio escolhi três maneiras bastantes utilizadas para realizar a migração de bases, e por isso vou dividir em 3 partes (três Post) para não ficar cansativo.

São elas:

  • Deploy Database to Microsoft Azure SQL Database
  • Backup bac com import
  • DMA

Bora começar?!

Iniciando a série sobre Migração On-Premise para Azure SQL, abordo hoje o método ‘Deploy Database to Microsoft Azure SQL Database’. Vamos explorar as vantagens, desafios e um passo a passo detalhado para facilitar sua jornada para a nuvem.

  1. Deploy Database to Microsoft Azure SQL Database:

Uma opção “direta” do SQL Server Management Studio (SSMS) para migrar bancos para o Azure SQL Database.

Vantagens:

  • Simplicidade: O processo é integrado ao SSMS, facilitando a migração, sem a necessidade de ferramentas adicionais.
  • Familiaridade: Administradores de banco de dados que já utilizam o SSMS encontrarão familiaridade no processo, reduzindo a curva de aprendizado.

Desvantagens:

  • Limitações de Tamanho: Bancos de dados muito grandes podem enfrentar dificuldades ou demorar mais tempo para serem migrados por esse método.
  • Downtime: Durante a migração, o banco de dados pode ficar indisponível, o que pode não ser ideal para ambientes que exigem alta disponibilidade.

1.1 – Preparação do Ambiente:

  • Backup: Por segurança, é bom sempre ter um backup atualizado antes de iniciar qualquer processo.
  • Compatibilidade: Certifique-se de que o banco de dados de origem é compatível com o Azure SQL Database, incluindo o suporte às features utilizadas.

Para validar a compatibilidade da database, usaremos o DMA (Data Migration Assistant), uma ferramenta da Microsoft, que também é usada para realizar migrações. 😉 (assunto do post …PARTE3) #spoiler

Instalação do DMA:

  • Baixe o Data Migration Assistant aqui.
  • Instale a ferramenta em um computador com acesso ao servidor de origem.
  • Abra o DMA e clique em + New Project.
  • Nomeie o projeto e selecione o tipo de migração:
    • Assessment: Para avaliar a compatibilidade.
    • Migration: Para realizar migração.
  • Escolha o tipo de servidor de origem (SQL Server) e o destino (Azure SQL Database).

Faremos portanto uma avaliação (assesment) de compatibilidade.

Daremos o nome MigracaoDeploy.

Realizar uma Avaliação (Assessment):

  • Conecte-se ao servidor de origem.

Como instalei o DMA no próprio servidor de origem, por isso basta colocar o nome como localhost, e o type usaremos o Windows Authentication.

Após conectar, selecione os bancos de dados a serem analisados.

No nosso caso vamos migrar a base chamada “AdventureWorks2012”.

Inclusive segue link de repositório AdventureWork, caso você precise para estudos e Labs.

Bancos de dados de exemplo do AdventureWorks – SQL Server | Microsoft Learn

Após a base ser inserida, basta clicar em Start Assessment.

O DMA identificará a incompatibilidade, caso tenha.

Podemos também exportar o relatório final.

Exemplo:

Vejam que nossa base não possui nenhuma incompatibilidade, conforme versão a ser migrada.

  • Compatibilidade OK

Podemos salvar o projeto para futura verificação.

1.2 – Configuração no Azure:

No portal do Azure, vamos configurar um novo “SQL Server” e um “Banco de Dados”.

Create SQL Server

Create SQL Database Server

Muita atenção neste momento, após escolher a sua Subscription, Resource group (vamos criar um novo), será necessário definir um Server name.

Necessário definir também o Authentication method, criar um admin login, e um Password.

*não esqueça de anotar o nome do server, login e senha, pois vamos precisar adiante.

Vamos conferir se está tudo correto?

Após clicar em Create, basta esperar o Deployment.

Terminado, anotaremos o Server name.

migracaoadm.database.windows.net

1.3 – Firewall

Por segurança, uma boa prática é ajustar o firewall para aceitar apenas o IP específico, evitando assim um acesso não autorizado.

Apesar do meu IP ser identificado automaticamente, vamos colocar no firewall um IP errado.

Que tal fazer um teste de conexão?!

Perfeito, conexão não foi possível por falta de permissão. 😉

Ajustaremos o firewall como o IP correto.

Seguiremos com nossa migração.

1.4 – Migração via SSMS:

  • Conecte-se ao Banco de Dados de Origem: Abra o SSMS e conecte-se ao servidor On-premises.
  • Inicie o Assistente de Implantação:
    • Clique com o botão direito no banco de dados que deseja migrar.
    • Selecione Tarefas > Deploy Database to Microsoft Azure SQL Database.

Nesse momento teremos que conectar no Server de destino, ou seja, no Azure.

Usaremos aquelas informações que anotamos conforme comentei acima.

Neste momento, caso o firewall não estivesse com o IP liberado, iria dar erro na conexão.

Conexão OK

  • Configurações Adicionais

Definir o database name, qual a edition Azure SQL Database e maximum database size.

Ajustar conforme necessidade, pois são configurações de extrema importância, podendo influenciar no tempo total de migração e performance.

O Maximum database size é diretamente relacionado ao tipo de edição escolhido.

Confira o resumo das configurações escolhidas para iniciar a migração propriamente dita.

Em progresso…

Nesse ponto, assim como comentado no início do post…

Bancos de dados muito grandes podem enfrentar dificuldades ou demorar mais tempo para serem migrados por esse método.

Processo finalizado.

1.5 – Pós-Migração:

  • Verificação: Após a conclusão, conecte-se ao banco de dados no Azure e verifique se todos os dados e objetos foram migrados corretamente.
  • Ajustes Necessários: Atualize strings de conexão em aplicativos e realize testes para garantir que tudo funcione como esperado.

Ao finalizar por completo, a base estará ONLINE com as tabelas povoadas.

Podemos também conferir via SSMS.

Database On-Premises e Azure SQL Database.

Usaremos um SELECT simples para comparar os resultados.

Encerramos portanto este POST, espero que tenha contribuído alguma coisa para o seu aprendizado.

Lembrando que darei continuidade nesta “série”.

Aguardem…

Obrigado, e quaisquer dúvidas, sugestões, elogios e reclamações, … podem me enviar! 😉

Seguem alguns links como referências usadas para escrever este post.

ederlelis Administrator
DBA Consultor SQL Server

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *