Temos grandes bancos de dados que estão sendo mantidos em sincronia usando a Replicação Transacional. Eles estão todos rodando em VMs e vamos mudar para um novo provedor e reorganizar a estrutura de rede e distribuição de aplicativos.
É possível migrar a Replicação Transacional: Publicador, Assinante, Banco de Dados de Distribuição sem precisar fazer um novo Snapshot? Atualmente temos no Servidor_1 o Publicador e no Servidor_2 o Assinante e o Banco de Dados de Distribuição. Vamos mover o Publicador para o Servidor_3 e o Banco de Dados de Assinante e Distribuição para o Servidor_4
Eu não tenho muita experiência com SQL Replication, então tenho lido muito. Encontrei esta resposta aqui . Lendo-o, entendo que, se eu seguir estas etapas, será possível mover a Replicação para os novos 2 servidores:
- Durante o tempo de inatividade, esperamos até que todos os objetos estejam sincronizados
- Em seguida, faça o script da Replicação (isso inclui Publicador, Assinante e Banco de Dados de Distribuição?),
- Migre os bancos de dados do Publicador e do Assinante para seus novos locais
- Crie uma nova replicação transacional do zero (usando os scripts gerados a partir da replicação existente) apenas com suporte para replicação
- Execute trabalhos de instantâneo para garantir a criação de quaisquer objetos do sistema ausentes.
No entanto, não sei se tenho todos os dados/passos/compreensão necessários e se estou faltando algo importante.
Além disso, seria possível não esperar que todos os objetos estivessem sincronizados? Eu gostaria de testar o processo, mas não sei se poderei desligar os bancos de dados por tanto tempo apenas para testar. Então, poderíamos migrar os dois bancos de dados sem sincronizá-los perfeitamente e regenerar a replicação sem criar um instantâneo? Talvez sem a opção "somente suporte à replicação" e executando os trabalhos de instantâneo. Se executarmos os trabalhos de instantâneo nessa situação, eles criarão um instantâneo inteiro, pois os bancos de dados não estarão em sincronização ou apenas procurarão as diferenças?
Desculpe se minhas perguntas parecem óbvias, não trabalhei com esta tecnologia antes e quero ter certeza de fazer tudo certo.
Você deve testar e automatizar esse processo em um ambiente de não produção.