Microsoft Data Migration Assistant

Publicado a 4/30/2019 por Knowledge Inside em Review
image

Embora não seja uma ferramenta introduzida recentemente, o Microsoft Data Migration Assistant (DMA) ganha hoje em dia cada vez mais importância devido à necessidade de migrar bases de dados em plataformas fora de suporte para novas versões, inclusive alojadas na Cloud.

A ferramenta DMA permite efetuar o upgrade da instalação atual de SQL ao detetar problemas de compatibilidade que poderiam impactar a funcionalidade da base de dados numa versão mais recente. Efetua recomendações para melhorar a performance e fiabilidade no ambiente de destino, e não menos importante, permite a migração desses dados para uma nova plataforma, seja na Cloud (Azure) ou On-Premise.

Esta ferramenta surgiu como substituição direta do SQL Server Upgrade Advisor, e suporta as seguintes origens e destinos de dados:

Origens

  • SQL Server 2005
  • SQL Server 2008
  • SQL Server 2008 R2
  • SQL Server 2012
  • SQL Server 2014
  • SQL Server 2016
  • SQL Server 2017 on Windows

Destinos

  • SQL Server 2012
  • SQL Server 2014
  • SQL Server 2016
  • SQL Server 2017 on Windows and Linux
  • Azure SQL Database
  • Azure SQL Database Managed Instance

Análise

Quando usada para efetuar uma avaliação das bases de dados a migrar, permite dividir essa avaliação em 2 categorias, análise de funcionalidades (Feature Parity) e análise de incompatibilidades (Compatibility Issues).

Na análise de funcionalidades, temos do lado esquerdo um indicador visual se é possível migrar a instância em questão (quadro verde). Recebemos também informação sobre as funcionalidades que já não serão suportadas e outras que apenas são suportadas parcialmente (quadro azul). Para cada uma das funcionalidades temos uma descrição da mesma, e recomendações para lidar com a ausência dessa funcionalidade no destino da migração. Temos também a indicação de quais as bases de dados que possuem estas funcionalidades (quadro laranja).

Na análise de incompatibilidades, temos igualmente um quadro para cada uma das bases de dados analisada, com as incompatibilidades encontradas. Para cada uma temos um indicador visual se é possível a sua migração ou não (quadro verde) Estas encontram-se divididas em categorias consoante a sua gravidade (quadro azul). Tal como no quadro das funcionalidades, temos também uma descrição de cada uma, recomendações de como as resolver / mitigar e em que bases de dadoss se encontram (quadro laranja). Esta análise encontra-se dividida por nível de compatibilidade

Em ambos os casos, é possível exportar o relatório em formato JSON ou CSV para posterior análise.

Migração

A segunda funcionalidade da aplicação, e a mais relevante, é a de possibilitar a migração para versões de SQL mais recentes, incluindo Azure SQL Databases. Para simplificar ao máximo este processo, a aplicação divide a migração em 6 passos:

  1. Selecionar origem da base de dados. Temos a hipótese de realizar uma avaliação prévia caso não tenhamos executado este passo anteriormente.
  2. Selecionamos uma base de base de dados no destino, neste caso uma Azure SQL Database.
  3. Selecionamos os objetos que queremos migrar.
  4. É gerado um script que podemos analisar e alterar consoante as nossas necessidades, e depois usamos o mesmo para fazermos o deploy do schema no destino.
  5. Selecionamos as tabelas a migrar.
  6. Migramos os dados e recebemos um report do que foi migrado e de eventuais erros durante a migração (neste caso nenhum).

Ou seja, temos uma ferramenta que em poucos passos e sem necessidade de grande conhecimento de SQL, permite efetuar migrações com relativa rapidez e simplicidade.

O que nós dizemos

É com agrado que vemos a Microsoft a disponibilizar, e a atualizar com regularidade, uma ferramenta grátis que permite a migração de bases de dados SQL, tanto para plataformas mais recente On-Premise, como para a Cloud. Como demonstrámos neste artigo, é de grande simplicidade usar a ferramenta tanto para analisar como para migrar BDs, no nosso caso de um ambiente On-Premise para a Cloud (Azure). Se tivéssemos de apontar alguma crítica, seria ao facto de para migrações mais complexas (não suporta por exemplo SQL Server Agent Jobs, Linked Servers ou Service Broker Endpoints) não ser a mais adequada. Isto não inviabiliza que para cenários menos complexos seja uma ferramenta a considerar, uma vez que permite suprir as necessidades de muitas organizações no que toca a migração de bases de dados SQL, e com o tempo é natural que a Microsoft vá adicionando ainda mais funcionalidades, tornando esta ferramenta ainda mais completa.

Comments