Vou precisar configurar a replicação transacional para um grande banco de dados. Eu uso backup/restauração para inicializar o banco de dados porque é muito grande para usar o instantâneo em uma rede lenta. Portanto, as seguintes etapas são usadas
- Faça backup do banco de dados
- Copie os arquivos de backup
- Restaurar o banco de dados no assinante
- Configurar replicação
No entanto, e se houver alguma alteração de dados (inserir/atualizar/excluir) depois da etapa 1 e antes da etapa 4? Essas transações serão perdidas? Ou a configuração da replicação falhará? Como resolver o problema?
Para inicializar uma assinatura transacional a partir de um backup, você acaba criando a publicação primeiro, permitindo que ela inicialize as assinaturas a partir de um backup, faça um backup e inicialize as assinaturas com o backup.
As alterações que ocorrerem após fazer o backup e antes de inicializar a(s) assinatura(s) serão armazenadas no banco de dados de distribuição, que atua como uma fila de armazenamento. Essas alterações serão replicadas para os assinantes após serem inicializadas a partir do backup.
Observe que, por padrão, os trabalhos de limpeza de distribuição limpam as transações com mais de 72 horas do banco de dados de distribuição com base no período de retenção da publicação. Você pode desabilitar temporariamente esse trabalho antes do backup e reativá-lo depois de inicializar as assinaturas do backup.
Dê uma olhada em Inicializar uma assinatura transacional sem um instantâneo e Inicializar uma assinatura transacional a partir de um backup .