Implementamos Replicação Transacional com 2 servidores de publicação, 4 de publicação e 1 servidor de assinatura. Preciso desligar nosso servidor de distribuição por várias horas. Quando reiniciado, o Log Reader será capaz de retomar de onde parou de ler os logs antes do desligamento?
Meu pensamento é que, como os backups de log de transação continuarão nos editores e limparão os logs, o leitor de log não terá nada para pegar.
Acredito que minha única opção confiável será reinicializar cada publicação e começar de novo.
Meu entendimento disso está correto ou estou complicando demais as coisas?
Obrigado!
O SQL não limpará as transações do log que o leitor de log não marcou como concluídas (Confirmado para distribuição). Portanto, seu log pode crescer enquanto o servidor de distribuição está inativo, mas quando ele voltar, o leitor de log deverá ser capaz de recuperar o atraso com o tempo.
De BOL:
por várias horas você ficará bem, uma das condições para uma reutilização de log é se todos os registros no VLF foram ou não processados pelo leitor de log.
Mantenha o leitor de log em execução, descubra e interrompa o trabalho do agente distribuidor para cada uma das publicações afetadas pela queda do servidor distribuidor, antes de desligar o servidor distribuidor.
Eu postei os scripts para isso no link abaixo:
a tabela de assinantes precisa ser atualizada - como usar um processo em lote E como não atrapalhar a replicação ao fazê-lo?