Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aplica-se a:SQL Server
Instância Gerenciada de SQL do Azure
As assinaturas podem ser desativadas ou podem expirar se não forem sincronizadas dentro de um período de retençãoespecificado. A ação que ocorre depende do tipo de replicação e do período de retenção excedido.
Para definir os períodos de retenção, consulte Definir o período de validade para assinaturas, Definir o período de retenção de distribuição para publicações transacionais (SQL Server Management Studio) e Configurar publicação e distribuição.
Replicação transacional
A replicação transacional usa o período de retenção máximo da distribuição (o parâmetro @max_distretentionde sp_adddistributiondb (Transact-SQL)) e o período de retenção da publicação (o parâmetro @retentionde sp_addpublication (Transact-SQL)):
Se a assinatura não for sincronizada dentro do período de retenção máximo da distribuição (padrão de 72 horas) e houver mudanças no banco de dados de distribuição que não foram entregues ao Assinante, a assinatura será marcada como desativada pelo trabalho de Limpeza da assinatura expirada sendo executado no Distribuidor. A assinatura deverá ser reinicializada.
Se a assinatura não for sincronizada no período de retenção máximo da publicação (padrão de 336 horas), a assinatura expirará e será descartada pelo trabalho de Limpeza de assinaturas expiradas executado no Publicador. (Antes da correção em KB4014798, o trabalho se chamava Limpeza de distribuição.) A assinatura deve ser recriada e sincronizada.
Se uma assinatura push expirar, ela será completamente removida, mas as assinaturas pull não serão. Você deve remover as assinaturas de extração no assinante. Para obter mais informações, consulte Delete a Pull Subscription.
Replicação por mesclagem
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)). Quando uma assinatura expira, ela deverá ser reiniciada, pois os metadados da assinatura serão removidos. As assinaturas que não forem reinicializadas serão descartadas pelo trabalho de Limpeza de assinaturas expiradas executado no Publicador. Por padrão, esta tarefa é executada diariamente; ela remove todas as assinaturas push que não foram sincronizadas por um período equivalente ao dobro do período de retenção da publicação. Por exemplo:
Se a publicação tiver um período de retenção de 14 dias, uma assinatura poderá expirar se não sincronizar dentro de 14 dias.
Se o Publicador estiver executando o SQL Server 2005 (9.x) ou uma versão posterior e o agente para a assinatura pertencer ao SQL Server 2005 (9.x) ou versão posterior, uma assinatura só expirará se ocorrerem mudanças nos dados naquela partição da assinatura. Por exemplo, suponha que um Assinante receba dados de clientes somente de clientes na Alemanha. Se o período de retenção for definido em 14 dias, a assinatura expirará no 14º dia somente se ocorreram mudanças nos dados do cliente alemão nos últimos 14 dias.
Do 14º dia até 27 dias após a última sincronização, a assinatura poderá ser reinicializada.
No 28º dia após a última sincronização, a assinatura será descartada pelo trabalho de Limpeza de assinaturas expiradas . Se uma assinatura push expirar, ela será completamente removida, mas as assinaturas pull não serão. Você deve remover as assinaturas de extração no assinante. Para obter mais informações, consulte Delete a Pull Subscription.
Considerações sobre como definir o período de retenção para publicações de mesclagem
Lembre-se das considerações a seguir ao definir o período de retenção para publicações de mesclagem:
O período de retenção para publicações de mesclagem inclui uma tolerância de 24 horas para atender assinantes em diferentes fusos horários. Por exemplo, se você definir um período de retenção de um dia, o período de retenção real será de 48 horas.
A limpeza dos metadados da replicação de mesclagem depende do período de retenção da publicação:
A replicação não poderá limpar os metadados na publicação e nos bancos de dados de assinatura antes de o período de retenção ser atingido. Tenha cuidado ao especificar um valor alto para o período de retenção, pois isso pode afetar negativamente o desempenho da replicação. É recomendável usar uma configuração mais baixa se você puder prever com segurança que todos os Assinantes sincronizarão regularmente nesse período.
É possível especificar que as assinaturas nunca expirem (um valor igual a 0 para
@retention), mas é altamente recomendável não usar esse valor, pois os metadados não podem ser limpos.
O período de retenção para qualquer republicador deve ser definido com um valor igual ou inferior ao período de retenção definido no Publicador original. Você também deve usar os mesmos valores de retenção da publicação para todos os Publicadores e seus parceiros de sincronização alternativos. O uso de valores diferentes pode levar a uma não convergência. Se precisar alterar o valor de retenção da publicação, reinicialize o Assinante para evitar a não convergência de dados.
Se, após uma limpeza, o período de retenção da publicação for aumentado e uma assinatura tentar se mesclar ao Publicador (que já excluiu os metadados), a assinatura não expirará por causa do valor de retenção aumentado. Porém, o Publicador não tem metadados suficientes para baixar as mudanças para o Assinante, o que resulta em uma não convergência.