Compartilhar via


Uma assinatura de mesclagem expirou e as alterações precisam ser carregadas

Se uma assinatura de uma publicação de mesclagem expira, e, você quer carregar as mudanças do Assinante para o Publicador, precisa fazer isso manualmente.

Explicação

A replicação de mesclagem usa o período de retenção da publicação, os parâmetros @retention e @retention_period_unit de sp_addmergepublication (Transact-SQL), para determinar quando uma assinatura expira. A replicação limpa os metadados na publicação e nos bancos de dados de assinatura depois que o período de retenção é atingido. Para obter mais informações, consulte Validade e desativação de assinatura. Não é possível carregar as mudanças de uma assinatura expirada, porque os metadados relacionados às linhas no Assinante não estão mais presentes no Publicador.

Ação do usuário

Para transferir as alterações para o Publicador:

  1. Use o utilitário tablediff para determinar quais as linhas diferentes entre o Publicador e Assinante. Para obter informações sobre como usar este utilitário em tabelas replicadas, consulte Como comparar tabelas replicadas para descobrir diferenças (Programação de Replicação).

  2. Carregar alterações manualmente do Assinante ou usando uma das seguintes abordagens:

    • Recrie a assinatura, especificando que o instantâneo não deverá ser aplicado ao Assinante. Para obter mais informações, consulte Inicializando uma assinatura de mesclagem sem instantâneo. Depois que a assinatura é criada, execute uma atualização fictícia para cada linha que deverá ser carregada no Publicador ou, então, execute uma simulação de atualização, como a seguinte:

      UPDATE Sales.SalesOrderHeader SET RevisionNumber = RevisionNumber WHERE SalesOrderID > 4100

      ou execute sp_mergedummyupdate para cada linha. Para obter mais informações, consulte sp_mergedummyupdate (Transact-SQL).

    • Use o utilitário tablediff para gerar um script Transact-SQL para tornar os dados convergentes. Para obter mais informações, consulte Utilitário tablediff. O script Transact-SQL substitui todos os dados não convergentes no destino (nesse caso, o Publicador), por isso, essa opção deverá apenas ser usada se o carregamento de dados do Assinante tiver precedência sobre a preservação de dados no Publicador.

Consulte também

Conceitos