
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.
Tiago Balabuch
Related Posts

Azure SQL Database – Transparent Data Encryption with bring your own key
Transparent Data Encryption (TDE) vem por padrão habilitado quando você cria um novo database no Azure SQL...

Azure SQL Database – Vulnerability Assessment
O Vulnerability Assessment (VA) primeiramente introduzido no Azure SQL Database e depois entregue na versão do SQL...