Compartilhar via


Validar informações de partição para um assinante de mesclagem

Quando você define um filtro de linha parametrizado para uma publicação de mesclagem, usa uma função que faz referência a informações do Assinante, como o nome de logon do Assinante. Por padrão, a replicação valida as informações do Assinante com base nessa função antes de cada sincronização e sempre que um instantâneo é aplicado no Assinante. O processo de validação garante que os dados sejam particionados corretamente para cada Assinante. O comportamento de validação é controlado pela propriedade de publicação validate_subscriber_info , que pode ser alterada usando sp_changemergepublication (Transact-SQL) ou na página Opções de Assinatura da caixa de diálogo Propriedades da Publicação . Para obter mais informações sobre como alterar as propriedades da publicação, consulte Exibir e modificar propriedades de publicação.

Como funciona a validação de partição

Quando uma publicação é filtrada, por exemplo, usando a função SUSER_SNAME(), o Merge Agent aplica o instantâneo inicial a cada Assinante com base nos dados válidos para a expressão SUSER_SNAME().

Se a validação estiver habilitada, quando o Assinante se reconectar ao Publicador para a próxima sincronização, o Merge Agent validará as informações no Assinante e garantirá que a partição de cada Assinante seja a mesma recebida no instantâneo inicial. Para cada aplicativo de mesclagem ou instantâneo subsequente, o Merge Agent valida a partição de cada Assinante.

Caso o Merge Agent detecte que a função usada na expressão de filtragem retorne um valor diferente do que no instantâneo inicial, o processo de mesclagem ou de instantâneo falhará, e a assinatura desse Assinante poderá exigir reinicialização. A reinicialização pode ser necessária para evitar problemas que possam surgir se as configurações de mesclagem de um Assinante forem alteradas, mas talvez seja suficiente mudar informações no Assinante, como o nome de usuário, para o valor usado na época do instantâneo original.

Quando o Merge Agent valida uma partição, além de validar a partição em relação aos valores retornados por quaisquer funções usadas em expressões de filtragem, o agente também verifica se o instantâneo foi gerado antes das alterações que a invalidam, como operações de limpeza de metadados ou alterações de esquema. Se um instantâneo particionado for muito antigo, o Merge Agent retornará um erro e você deverá regenerar um instantâneo particionado para esse Assinante com base em um instantâneo regular atual.

Consulte Também

Perguntas Frequentes sobre Administração de Replicação
Práticas recomendadas para administração de replicação
Reinicializar assinaturas
Validar dados replicados