Fim do Suporte SQL 2008 – Migração DMA – On-Premises x On-Premises e On-Premises x Azure

Fala pessoal, tudo certo?

No post de hoje vamos dar continuidade ao assunto do post anterior, que é sobre o fim do suporte ao SQL Server 2008.

No post anterior, nós aprendemos um pouco sobre as vantagens de migrar o SQL Server 2008 para outra versão, preferencialmente para a versão mais nova (2017). Também podemos conhecer o DMA (Data Migration Assistant) e como ele pode nos auxiliar a fazer uma migração.

Agora vamos fazer uma migração de uma instância On-Premises para outro servidor On-Premises na prática e um passo a passo para migrar os dados para o Azure SQL Database utilizando o DMA.

Migração utilizando o DMA (Data Migration Assistant)

Abrir o DMA.

Agora vamos criar um novo projeto de migração. Para isso vamos clicar no “+”, e selecionar “Migration

O próximo passo é selecionar o nome do projeto e qual é a origem dos dados, no nosso caso será SQL Server mesmo. Também precisamos informar qual é o destino do no nosso banco de dados, se é para o Azure ou outro SQL Server e por fim vamos informar o escopo da migração, que basicamente é informar o que vamos migrar (Data and Schema, Schema Only e Data Only).

Agora precisamos informar os servidores de origem e destino e também as credenciais.

*Obs:

O usuário no servidor de origem precisa ter acesso de CONTROL SERVER e na instancia de destino precisa ser membro da role Sysadmin.

  1. Neste passo vamos selecionar quais bases vamos migrar, informar um caminho para o backup (certifique-se que ambos os servidores tem permissão de leitura e escrita no diretório de backup), e por fim vamos informar onde ficarão os arquivos de dados e log, neste post vamos utilizar a base StackOverflow.

Um dos grandes auxílios que o DMA nos dá é migrar os usuários do banco de dados para você. Neste passo você pode escolher quais usuários você quer migrar.

Progresso da migração do banco de dados “Stackoverflow”.

Processo de restore da database em andamento no SQL22 via SSMS.

Após o restore ser concluído, será apresentado um report da importação dos dados e logins.

Bom pessoal, como podemos ver o DMA (Data Migration Assistant) é uma ferramenta que nos auxilia a realizar uma migração. Porém, ela ainda deixa a desejar, pois ela não migra todos os objetos, somente o banco de dados e os usuários, já os demais objetos como Jobs, Linkedserver, Operadores e etc… você necessita migrar manualmente. Particularmente eu prefiro realizar uma migração utilizando o conjunto de ferramentas do DBATools, que vou demonstrar no próximo post.

Migrando um banco de dados para o Azure SQL Database

Se você ainda não sabe como criar um banco de dados Azure SQL Database, você pode ver no post “Criando um banco de dados Azure SQL Database”.

Bom, após o banco estar criado agora vamos iniciar a migração do nosso banco para o Azure SQL Database utilizando o DMA.

O primeiro passo é validar se existe alguma incompatibilidade do banco SQL Server 2008 R2, com o Azure SQL Database, para isso vamos realizar um novo Assessment.

Vamos selecionar validação de compatibilidade e sugestão de utilização de features.

Devemos conectar no servidor que vamos validar a database e logo após informar quais vamos validar. Neste caso vamos validar somente a “Stackoverflow”.

Agora vamos iniciar a validação.

O DMA identificou que a minha instancia tem outros serviços que não estão disponíveis no Azure, como o Reporting Service e o Analysis Services.

E relacionado aos problemas de compatibilidade, não temos nenhum alerta de “Migration Blockers”, somente um alerta com uma tabela que tem uma coluna com um tipo de dados que está marcado como deprecated. Então podemos seguir com a migração!

Para realizar a migração, vamos clicar no “+”, e selecionar “Migration”, dar um nome ao projeto de migração, selecionar o tipo de dados da origem, no nosso caso “SQL Server”, informar o destino “Azure SQL Database” e por fim informar qual será o escopo da migração, se vamos migrar somente o schema ou somente os dados ou ambos.

Novamente vamos informar o servidor de origem e informar quais bases vamos migrar, no nosso caso vamos utilizar somente a “Stackoverflow”.

Neste passo vamos conectar na nossa conta do Azure SQL Database, possivelmente você precisará realizar o login com a sua conta do Azure e criar uma regra no firewall, após conectar no Azure você vai selecionar o banco de destino.

Quando vamos migrar para o Azure, podemos selecionar quais tabelas que queremos migrar para não levar lixos indesejáveis. Novamente o assistente nos mostra o warning, do tipo de dados que está marcado como deprecated.

Obs: Neste post vou migrar somente as tabelas pequenas, para não deixar o custo (R$) muito alto… (Microsoft me da um voucher)… =D

É gerado um script das tabelas selecionadas, temos a opção de executar lá no portal ou fazer pela ferramenta. Se optar pela ferramenta, clique em “Deploy schema”.

Pronto! As tabelas foram criadas com sucesso, agora falta apenas migrar os dados.
Após a importação dos dados, será exibido um report com o status da migração.

Como podemos observar, a migração foi realizada com sucesso e os dados já estão disponíveis no Azure SQL Database.

Bom pessoal, no post de hoje aprendemos um pouco mais sobre como o DMA pode nos auxiliar na hora de efetuar uma migração do SQL Server, tanto para outro server On-premises como para o Azure SQL Database.

No próximo post, vou demonstrar como realizar uma migração utilizando o DBATools.

Um abraço e até a próxima.

Tiago Neves

Deixe uma resposta