O dataholic Thiago Barbosa compartilhou seus conhecimentos sobre o uso da ferramenta DMA. Bora aprender com ele?
Olá, pessoal! Neste artigo vou mostrar uma ferramenta muito interessante para migração de versão do SQL Server.
Resumo do caso:
Cliente precisava migrar uma instância SQL 2014 para SQL 2017 e com isso precisava ser avaliada a estrutura dos bancos para saber se não teria nenhum impacto na migração.
Com isso utilizei a ferramenta DMA (Data Migration Assistant) da Microsoft. (Visão geral do Assistente de Migração (SQL Server) – SQL Server | Microsoft Docs)
Essa ferramenta tem duas opções que podemos utilizar
Assessment – Avalia a estrutura de todos os databases e informa o que precisa ajustar antes de realizar a migração para outra versão do banco.
Migration – Executa a migração dos databases para a nova versão do banco.
Nesse artigo irei mostrar a opção Assessment, e uma forma mais fácil de analisar o relatório final que a ferramenta gera. Obs.: Essa opção não gera indisponibilidade no ambiente.
Após preenchermos os campos com o nome do projeto, o tipo de avaliação, o tipo de servidor de origem e o tipo de servidor de destino, iremos clicar em Create.
Na próxima tela iremos informar qual é a versão que estamos querendo migrar a instância. Nesse exemplo eu irei validar se o ambiente está compatível para o SQL 2017. Marcando essa opção clique no botão Next.
Na próxima tela clique no botão Add sources, passe as informações da instância que será avaliada e um usuário com permissão para ler as estruturas das bases de dados. Clique no botão Connect.
Funcionando a comunicação com a instância será exibida a lista de bases de dados, clique no check box para selecionar todas as bases de dados ou caso queira validar somente alguma seleciona qual base quer fazer a validação. Feito isso clique no botão Add.
Depois de adicionar as bases de dados, clique no botão Start Assessment
Após a ferramenta validar todas as bases de dados, ela vai mostrar um check com ícone verde em frente a cada base de dados. Nesse report final ela mostra em abas as versões de compatibilidade que validou para cada base, mostra no primeiro bloco quantos objetos serão impactados, no segundo bloco as informações detalhadas, no terceiro bloco quais são os objetos impactados e no quarto bloco uma recomendação para corrigir os impactos.
Os itens mais críticos seriam os que aparecem no Breaking Changes, pois sem essas correções a migração não terá sucesso.
Caso queira exportar esse relatório, temos duas opções, gerar um arquivo CSV ou JSON. Clicando no botão Export report escolha qual extensão você quer salvar o relatório.
Vamos salvar o relatório em extensão JSON.
Tendo esse arquivo salvo, iremos criar uma tabela para facilitar a análise dos objetos impactados em todas as bases que iremos migrar.
Iremos utilizar o script abaixo. Temos dois pontos que devemos alterar no script: o nome da tabela que queremos criar no banco e o caminho onde o arquivo está salvo.
Após criar a tabela no banco, podemos trabalhar em cima das informações e fazer as análises com mais facilidade. Segue um exemplo de consulta nessa tabela.
Espero que dessa forma facilite sua análise quando for fazer uma migração e assim possa passar para os DEV’s quais objetos eles precisam corrigir no banco para que a migração aconteça e a aplicação não venha a ficar indisponível.
Outra dica para realizar a migração seria configurar um extended events ou profiler para capturar comandos descontinuados que são utilizados por alguma aplicação. Pois o DMA só analisa a estrutura que está salvo no banco.
Mais informações podem ser visualizadas nos links:
https://www.youtube.com/watch?v=txpeHMJNQPU&t
https://www.youtube.com/watch?v=xN3UoIRLWxo
Gostou do conteúdo? Curta, comente e compartilhe. 💙