Olá galera o/

Vamos a mais uma postagem sobre o Azure SQL Database, se você não sabe o que é o Azure SQL Database segue algumas posts que fiz sobre o mesmo, os posts estão bem legais e detalhados.

  • Azure SQL Database: Criando um banco de dados no Azure >> LINK <<
  • Azure SQL Database: Aplicando o Dynamic Data Masking pelo Portal do Azure >> LINK <<
  • Azure SQL Database: Migração com SSMS – Export Data Tier Application >> LINK <<

Este é o segundo post de uma serie de postagens sobre como migrar uma database on-premise (máquina local) para o Azure SQL Database. O principal objetivo é mostrar quais ferramentas de migração possuímos e como podemos utiliza-las para realizar a migração de nossos dados on-premise para o Azure.

Primeiro vamos entender quais ferramentas de migração temos disponíveis.

  • Data Migration Assistant (DMA)
    • É uma ferramenta autônoma para detectar problemas de compatibilidade e migrar bancos de dados sql server on-premise para bancos de dados Azure SQL Database. Ele fornece uma interface gráfica do tipo assistente (wizard) e é bastante fácil de usar para avaliação e migração de compatibilidade. Além disso detecta e destaca problemas de compatibilidade. Uma vez que todos os problemas de compatibilidade são identificados e corrigidos, você pode migrar o banco de dados.
    • Download: https://www.microsoft.com/en-us/download/details.aspx?id=53595
  • SQL Server Data Tools (SSDT) for Visual Studio
    • O SSDT é a melhor ferramenta para o Azure SQL Database para encontrar e corrigir problemas de incompatibilidade. Tem as regras de compatibilidade mais recentes. Os problemas de compatibilidade podem ser corrigidos a partir do próprio SSDT, após o qual podemos migrar o banco de dados.
  • SQL Server Management Studio (SSMS)
    • O SSMS tem duas opções para detectar e migrar:
      • Export Data Tier Application: Exporta os dados e o esquema em um arquivo bacpac, e ao fazê-lo, lista qualquer uma das incompatibilidades encontradas.
      • Deploy Database to Microsoft Azure SQL Database: Implanta o banco de dados no Azure SQL Database, primeiro exportando o banco de dados em um arquivo bacpac e, em seguida, importando o arquivo bacpac em um Azure SQL Database. Ele lista incompatibilidades ao gerar o arquivo bacpac.
  • SQLPackage.exe
    • Esta é uma ferramenta de linha de comando que ajuda a automatizar tarefas de desenvolvimento de banco de dados, como importar, exportar e extrair arquivos bacpac ou dacpac. Seu uso real é ajudar a automatizar o gerenciamento do ciclo de vida do banco de dados; no entanto, pode ser usado para detectar e obter um relatório das incompatibilidades encontradas. Está incluído no SSDT.
    • Download: https://docs.microsoft.com/pt-br/sql/tools/sqlpackage/sqlpackage?view=sql-server-ver15
  • SQL Azure Migration Wizard
    • Esta é uma ferramenta apoiada pela comunidade que fornece uma interface de usuário gráfica orientada por assistente para detectar problemas de compatibilidade e migrar o banco de dados. A ferramenta não é totalmente atualizada para funcionar nas versões mais novas do Azure SQL Database.
    • Obs.: Foi descontinuada e substituída pelo Data Migration Assistant (DMA)
    • Download: https://github.com/adragoset/SQLAzureMigration
    • Você pode encontrar o código no GITHUB, porém é necessário realizar alguns ajustes.
  • Azure Database Migration Services
    • É um serviço Azure totalmente gerenciado que permite migrações perfeitas de múltiplas fontes de dados para bancos de dados do Azure. Baixo seguem alguns exemplos de migrações que o DMS pode fazer:
      • Migrar um SQL Server on-premise para Azure SQL Database ou Azure SQL Managed Instance. Suporta migrações on-line e off-line.
      • Migrar o Azure SQL Database para instâncias do Azure SQL Managed Instance.
      • Migrar uma instância AWS SQL Server RDS para o Azure SQL Database ou Azure SQL Managed Instance.
      • Migrar MySQL para o Azure Database for MySQL.
      • Migrar postgreSQL para o Azure Database for PostgreSQL.
      • Migrar o MongoDB para o Azure Cosmos DB Mongo API.

Agora que entendemos quais ferramentas possuímos, vamos realizar nosso lab com o método Deploy Database to Microsoft Azure SQL Database do SQL Server Management Studio (SSMS).

Analisando os ambientes

1 – Primeiro iremos acessar nossa instância local do SQL Server e analisar nossa database. Estaremos realizando a migração da database ProjectData. Esta database possui 7 tabelas. No ambiente do Azure essa database ainda não existe como podemos ver.

Realizando Deploy do BD on-premise no Azure SQL Database

1 – Após analisar a database vamos realizar os seguintes passos:

1.1 – Selecionar a database, clicar no botão direito do mouse. Uma lista de opções é listada.
1.2 – Selecionar a opção TASK. Uma lista de atividades é listada.
1.3 – Selecionar a opção Deploy Database to Microsoft Azure SQL Database…

2 – Uma tela de Wizard será exibida. Devemos clicar no botão NEXT.

3 – Na tela de Deployment Settings vamos realizar os seguintes passos:

3.1 – Na opção Server Connection clicar no botão Connect…, este botão acionará a tela de login do SQL Server.
3.2 – Iremos nos conectar com nosso servidor do Azure SQL, informar usuário e senha.
3.3 – Clicamos no botão Connect para informarmos em qual será o servidor que nosso banco de dados será armazenado.

4 – Após conectar ao nosso servidor do Azure de destino. Vamos configurar 3 itens:

4.1 – Na opção Edition of Microsoft Azure SQL Database, vamos escolher qual edição do Azure SQL vamos implantar nossa database, irei escolher a versão Basic, pois ela irá cobrar em torno de R$ 24,00 reais por mês (Moeda Brasileira). Também temos as seguintes opções disponíveis :
4.1.1 – Basic
4.1.2 – Standard
4.1.3 – Premium
4.1.4 – DataWarehouse
4.1.5 – Business Critical
4.1.6 – General Porpose
4.1.7 – Hyperscale
Obs.: Edições acima da Basic tem valor de cobrança maior.

4.2 – Na opção Maximum database size (GB), vamos escolher o valor 2 GB. Este valor muda de acordo com a edição escolhida anteriormente, a edição Basic por exemplo somente permite bases com tamanho de até 2 GB.

4.3 – Na opção Service Objective vamos selecionar o Basic. Este valor também muda de acordo com a edição escolhida. Por exemplo, se a edição selecionada fosse uma Standard , você poderia escolher o na opção Service Objective os valores entre S0 e S12, se fosse a versão Premium, os valores seriam entre P1 e P15.

5 – Uma vez com a configuração finalizada, clicamos no Botão Next.
Obs.: Na opção Temporary file name é armazenado temporariamente um arquivo bacpac (dados e estrutura do banco de dado) que será utilizado para realizar o Deploy da database no Azure. Após o processo finalizar o caminho é excluído.

6 – Na tela do Summary, vamos obter um resumo das configurações realizadas como:

6.1 – Dados da origem, ou seja, nosso servidor on-premise
6.2 – Dados do destino, ou seja, nosso servidor no Azure.
6.3 – Após analisarmos tudo, clicamos no botão Finish.

7 – Na tela Progress podemos acompanhar todo o processo de Deploy de uma database on-premise no Azure. Ao finalizar todo o processo, clicamos no botão Close.

8 – Depois que todo o processo foi finalizado com sucesso, vamos em nossa conexão do Azure SQL dentro do SSMS e podemos analisar que a nova database foi incluída ao servidor do Azure com sucesso.

Essa é a prova que todo o processo aconteceu com sucesso. Que top hein!!!

Apagando a nova database – Objetivo: Não gerar custos

1 – Vamos apagar a nova database criada para não ficar gerando custos extras na minha assinatura. Na tela do servidor do Azure SQL, devemos realizar os seguintes passos:

1.1 – No menu da esquerda > Sessão Setting (configurações) > selecionar SQL databases
1.2 – Todas as databases deste servidor serão exibidas. Clique em cima da nova database criada.

2 – A tela com as informações da nova database é exibida. Vamos realizar os seguintes passos:

2.1 – No menu principal há uns ícones com sua descrição, devemos clicar no ícone da lixeira com a descrição Delete.
2.2 – Uma tela será exibida no lado direito perguntando se você deseja realmente apagar o banco de dados. Para confirmar, devemos informar o nome do banco de dados no textbox TYPE THE DATABASE NAME. Informamos o nome do nosso banco que é ProjectData.
2.3 – Após informar o nome do banco, clicar no botão DELETE.

3 – O processo de apagar o database será iniciado. Aguardar o processo finalizar.

3.1 – Clicar no ícone sininho para verificar o status do processo de exclusão da database
3.2 – A notificação de confirmação da exclusão da database é exibida.
3.2 – No menu da esquerda > Sessão Setting (configurações) > selecionar SQL databases. Todas as databases deste servidor serão exibidas. Note que a database criada pelo processo de Deploy do SSMS foi excluída.

4 – Com o SSMS aberto, selecionem a pasta database, cliquem com o botão direito do mouse e seleciona a opção Refresh. Notem que a database não existe mais.

Com esse processo de deletar o banco via portal do Azure e analisarmos se foi refletido no SSMS, finalizamos nosso post de hoje.

Atenção: Se você esta com uma conta gratuita, pay-as-you-go ou de estudante, não esquecer de apagar os recursos criados nesta postagem. Para contas de estudante e gratuita a exclusão dos recursos evita o consumo dos créditos disponíveis, além disso, evita que aconteça cobrança indevida em sua subscription (assinatura). Para a conta pay-as-you-go é cobrado do cartão de crédito conforme o uso dos serviços, então, recomendo apagar para não gerar cobrança no seu cartão de crédito. Lembrar que o Azure SQL Database fica sempre ativo, então, sua cobrança acontecerá se não for deletado posteriormente.

Espero que tenham gostado desta postagem, vou fazer mais postagens técnicas sobre Azure SQL Database. Aguardem que 2021 vai ter muito conteúdo legal no blog.

Desejo a todos uma boa leitura, boa prática e bons estudos.

Para quem quer estudar:

  • Para a Certificação Microsoft MTA Database Fundamentals | Banco de Dados Relacional e Linguagem T-SQL.
    • Segue o link do curso na Udemy. >> LINK <<
  • Sobre Bancos da Dados no Azure
    • Segue o link do curso na Udemy. >> LINK <<

Não se esqueçam de avaliar esta postagem através da ESTRELAS abaixo das redes sociais, isso vai me ajudar muito a melhorar as postagens.

Quem quiser mandar comentários, sugestões, criticas e complementos, fiquem a vontade, pois feedbacks positivos ou negativos engradecem meu conhecimento para que possa melhorar as postagem para vocês.

Até a próxima o/

Acessem nossas Redes Sociais: