Azure SQL Database – Migration tools – part 3

Um outro metodo para migração de um database para o Azure SQL Database é através do uso de replicação. Não é o meu método favorito nem o tópico que eu mais gosto, na verdade eu evito o uso de replicação, porem esse tipo de migração pode ser útil em vários cenários.

Transactional Replication

Esse processo tem algumas particularidades como por exemplo:

  • Menor downtime
  • Perfeito para databases grandes
  • Suportado a partir do SQL Server 2012
  • Processo em múltiplos passos independentes
  • Requer chaves primarias em cada tabela presente no Publisher
  • Maior complexidade
  • Custos adicionais (setup distribution database, publisher e subscriber)
  • Exige mais conhecimento do DBA

Não esquece de validar se seu database está pronto para o Azure SQL Database através do Data Migration Assistant – Assessment

Configurar a replicação transacional para o Azure SQL Server não é nem um pouco diferente de configurar qualquer outro tipo de replicação para um servidor on-premise. Primeiro passo é criar um database vazio no Azure SQL Database pois é necessário que o database já exista para configurar a replicação.

Encontrei esse vídeo no channel9 explicando o passo a passo para utilizar a replicação transacional.
Para saber mais de como criar um Publisher utilizando replicação transacional acesse esse link.
Existem considerações que devemos ter e o time de suporte do Azure SQL Database descreve muito bem essas considerações nesse post.
O time do SQLCAT – SQL Server  Custumer Advisor Team também descreve como realizar esse procedimento nesse post.
Nesse outro link você pode ler sobre as restrições.

GO-NO-GO

Por ser um método que permite menor downtime existem alguns passos que devemos realizar:

  • Pare a aplicação e qualquer acesso que o database possa receber (Pacotes SSIS, integrações e etc.)
  • Monitore a replicação para que esteja completamente sincronizada
  • Reconfigure as connections strings (Aplicação, Pacotes SSIS, integrações e etc.)
  • Verifique se a aplicação está funcionando
  • Em caso de sucesso, exclua a replicação

 

Como eu disse, esse é um método extremamente complexo e trabalhoso, mas perfeitamente plausível para aplicações com downtime curtos.

This is Tiago Balabuch's website, and this is a bit of copy about him. He is enthusiast, fascinated, passionate, fanatic by SQL Server and in the off-hours a Data Engineer who loves what he does and he is traveling in the cloud and surfing on the wave of the moment called Azure! Originally from Brazil and with encouragement from family and friends, Tiago moved to Europe in 2017 where lives in Ireland. In addition to being a data engineer, he is also active speaker in the SQL PASS events and keeps up to date on the key technologies and technical certifications. Tiago hold these certification MCT, MCSE - Data Management and Analystics, MCSA - SQL Server 2016/2014/2012. Simply psychedelic and manic he is just one more freak who likes SQL Server and its new features ...

Responda