Como confirmar uma topologia de replicação (Programação Transact-SQL de replicação)

Confirmar um sistema inclui interromper as atividades em tabelas publicadas em todos os nós, e assegurar que todos eles tenham recebido todas as alterações de todos os demais nós. Esse tópico explica como confirmar a topologia de replicação, necessária para um número de tarefas administrativas, e como garantir que um nó tenha recebido todas as alterações dos demais nós.

Para confirmar uma topologia de replicação de transação com assinaturas somente leitura

  1. Interrompa a atividade em todas as tabelas publicadas no Publicador.

  2. No Publicador do banco de dados de publicação, execute sp_posttracertoken (Transact-SQL).

  3. No Publicador do banco de dados de publicação, execute sp_helptracertokenhistory.

  4. Certifique-se de que cada Assinante tenha recebido o token de rastreamento.

Para confirmar uma topologia de replicação de transação com assinaturas atualizáveis

  1. Interrompa a atividade em todas as tabelas publicadas no Publicador e em todos os Assinantes.

  2. Se os Assinantes usarem assinaturas de atualização em fila:

    1. Se o Queue Reader Agent não estiver executando em modo contínuo, execute o agente. Para obter mais informações sobre os agentes em execução, consulte Conceitos dos executáveis do Replication Agent ou Como iniciar e parar um Replication Agent (SQL Server Management Studio).

    2. Para verificar se a fila está vazia, execute sp_replqueuemonitor em cada Assinante.

  3. No Publicador do banco de dados de publicação, execute sp_posttracertoken.

  4. No Publicador do banco de dados de publicação, execute sp_helptracertokenhistory.

  5. Certifique-se de que cada Assinante tenha recebido o token de rastreamento.

Para confirmar uma topologia de replicação de transação ponto a ponto

  1. Interrompa a atividade em todas as tabelas publicadas em todos os nós.

  2. Execute sp_requestpeerresponse em cada banco de dados de publicação na topologia.

  3. Se o Log Reader Agent ou o Distribution Agent não estiver executando em modo contínuo, execute o agente. O Log Reader Agent deve ser iniciado antes do Distribution Agent. Para obter mais informações sobre os agentes em execução, consulte Conceitos dos executáveis do Replication Agent ou Como iniciar e parar um Replication Agent (SQL Server Management Studio).

  4. Execute sp_helppeerresponses em cada banco de dados de publicação na topologia. Certifique-se de que o conjunto de resultados contém as respostas de cada um dos demais nós.

Para ter certeza de que um nó ponto a ponto recebeu todas as alterações anteriores

  1. Execute sp_requestpeerresponse no banco de dados de publicação, no nó que você está verificando.

  2. Se o Log Reader Agent ou o Distribution Agent não estiver executando em modo contínuo, execute o agente. O Log Reader Agent deve ser iniciado antes do Distribution Agent. Para obter mais informações sobre os agentes em execução, consulte Conceitos dos executáveis do Replication Agent ou Como iniciar e parar um Replication Agent (SQL Server Management Studio).

  3. Execute sp_helppeerresponses no banco de dados de publicação, no nó que você está verificando. Certifique-se de que o conjunto de resultados contenha as respostas de cada um dos demais nós.

Para confirmar uma topologia de replicação de mesclagem

  1. Interrompa a atividade em todas as tabelas publicadas no Publicador e em todos os Assinantes.

  2. Execute o Merge Agent para cada assinatura duas vezes: sincronize todas as assinaturas uma vez e, em seguida, sincronize cada assinatura uma segunda vez: Isso garantirá que todos as alterações sejam replicadas em todos os nós. Para obter mais informações sobre os agentes em execução, consulte Conceitos dos executáveis do Replication Agent ou Como iniciar e parar um Replication Agent (SQL Server Management Studio).

    ObservaçãoObservação

    Em caso de conflitos durante a sincronização, é possível que as alterações exigidas pela resolução do conflito não sejam propagadas a todos os nós, após a execução do Merge Agent duas vezes.