Definir o período de validade para subscrições

Aplica-se a: SQL ServerAzure SQL Managed Instance

Este tópico descreve como definir o período de validade das subscrições no SQL Server utilizando o SQL Server Management Studio ou Transact-SQL. O período de validade das subscrições determina o período de tempo antes de uma subscrição expirar e ser removido. Para mais informações, consulte Expiração e Desativação da Subscrição.

Recommendations

  • O período de validade da subscrição também é referido como período de retenção de publicações. A limpeza dos metadados de replicação da fusão depende desta definição:

    • A replicação não pode limpar metadados nas bases de dados de publicações e subscrições até que o período de retenção seja 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. Recomenda-se que use uma definição mais baixa se conseguir prever de forma fiável que todos os Subscritores irão sincronizar regularmente nesse período.

      O período de retenção para publicações da fusão tem um período de carência de 24 horas para acomodar subscritores em diferentes fusos horários. Se, por exemplo, definir um período de retenção de um dia, o período real de retenção é de 48 horas.

    • É possível especificar que as subscrições nunca expiram, mas é fortemente recomendado que não use esse valor, pois os metadados não podem ser limpos.

Usando o SQL Server Management Studio

Defina o período de validade das subscrições na página Geral da caixa de diálogo Propriedades de Publicação - <Publicação> . Para mais informações sobre como aceder a esta caixa de diálogo, consulte Visualizar e Modificar Propriedades de Publicação.

Para definir o período de validade das subscrições

  1. Na secção de Expiração da Subscrição na página Geral da caixa de diálogo Propriedades de Publicação - <Publicação> , especifique se as subscrições devem expirar.

  2. Se estiverem a expirar, especifique um período de expiração.

Usando Transact-SQL

Pode usar procedimentos armazenados de replicação para definir este valor quando uma publicação é criada ou modificar esse valor mais tarde.

Para definir o prazo de expiração de uma assinatura de uma publicação de instantâneo ou transacional

  1. No Publicador, execute sp_addpublication. Especifique o período de validade da subscrição desejado, em horas, para @retention. O período de validade padrão é de 336 horas. Para mais informações, consulte Criar uma Publicação.

Para definir o período de expiração de uma subscrição de publicação de fusão

  1. No Publisher, executa sp_addmergepublication. Especifique o valor desejado para o período de expiração da subscrição para @retention. Especifique as unidades em que o período de expiração é expresso para @retention_period_unit, que pode ser uma das seguintes:

    • 1 = semana

    • 2 = mês

    • 3 = ano

    O prazo de validade padrão é de 14 dias. Para mais informações, consulte Criar uma Publicação.

Alterar o período de validade de uma subscrição de uma publicação snapshot ou transacional

  1. No Publicador, execute o sp_changepublication. Especifique a retenção para @property e o novo período de expiração da subscrição, em horas, para @value.

Para alterar o período de validade de uma subscrição de uma publicação fundida

  1. No Publicador, execute sp_helpmergepublication, especificando @publication e @publisher. Note o valor de retention_period_unit no conjunto de resultados, que pode ser um dos seguintes:

    • 0 = dia

    • 1 = semana

    • 2 = mês

    • 3 = ano

  2. No Publisher, executa sp_changemergepublication. Especifique a retenção para @property e o novo período de expiração da subscrição, como texto baseado na unidade do período de retenção do passo 1, para @value.

  3. (Opcional) No Publisher, executa sp_changemergepublication. Especifique retention_period_unit para @property e uma nova unidade para o período de expiração da subscrição para @value.