Adicionando artigos e descartando artigos de publicações existentes

Depois que uma publicação é criada, é possível adicionar e descartar artigos. Os artigos podem ser adicionados a qualquer hora, mas as ações necessárias para descartar artigos dependem do tipo de replicação e de quando o artigo é descartado.

Adicionando artigos

Adicionar um artigo envolve: adicionar o artigo à publicação; criar um novo instantâneo para a publicação; sincronizar a assinatura para aplicar o esquema e os dados para o novo artigo.

ObservaçãoObservação

Se você adicionar um artigo a uma publicação de mesclagem e o artigo existente depender do artigo novo, será preciso especificar uma ordem de processamento para ambos os artigos usando o parâmetro @processing_order de sp_addmergearticle e sp_changemergearticle. Considere o seguinte cenário: uma tabela é publicada, mas não é publicada a função que é referenciada pela tabela. Se a função não for publicada, a tabela não poderá ser criada no Assinante. Ao adicionar a função à publicação: especifique o valor 1 para o parâmetro @processing_order de sp_addmergearticle e especifique o valor 2 para o parâmetro @processing_order de sp_changemergearticle, especificando o nome da tabela para o parâmetro @article. Essa ordem de processamento garante a criação da função no Assinante antes da tabela que depende disso. É possível usar números diferentes para cada artigo, desde que o número para a função seja menor que o número para a tabela.

  1. Adicione um ou mais artigos com um dos métodos seguintes:

  2. Após adicionar um artigo a uma publicação, é necessário criar um novo instantâneo para a publicação (e todas as partições se for uma publicação de mesclagem com filtros com parâmetros). O Distribution Agent ou o Merge Agent então copiará o esquema e os dados para o novo artigo para o Assinante (ele não reinicializa a publicação inteira).

    Para criar um novo instantâneo

    Para criar um novo instantâneo para uma publicação de mesclagem com filtros com parâmetros

  3. Depois que o instantâneo é criado, sincronize a assinatura para copiar o esquema e os dados para o novo artigo.

    Para sincronizar uma assinatura push

    Para sincronizar uma assinatura pull

Descartando artigos

Os artigos podem ser descartados de uma publicação a qualquer hora, mas é necessário levar em conta os seguintes comportamentos:

  • Descartar um artigo de uma publicação não remove o objeto do banco de dados de publicação ou o objeto correspondente do banco de dados de assinatura. Use DROP <Objeto> para remover esses objetos, se necessário. Ao descartar um artigo que está relacionado a outros artigos publicados através de restrições de chave estrangeira, recomendamos descartar manualmente a tabela no Assinante ou usando uma execução de script sob demanda: especifique o script que inclui as instruções apropriadas DROP <Objeto>. Para obter mais informações, consulte Como executar scripts durante a sincronização (Programação Transact-SQL de replicação).

  • Para publicações de mesclagem com nível de compatibilidade 90RTM ou superior, os artigos podem ser descartados a qualquer hora, porém um novo instantâneo é requerido. Adicionalmente:

    • Se o artigo é um artigo pai em um filtro de junção ou relação de registro lógico, as relações devem ser descartadas primeiro, o que requer a reinicialização.

    • Se o artigo tiver o último filtro com parâmetros em uma publicação, as assinaturas deverão ser reinicializadas.

  • Para publicações de mesclagem com nível de compatibilidade inferior a 90RTM, os artigos podem ser descartados sem considerações especiais anteriores à sincronização inicial de assinaturas. Se o artigo for descartado depois que uma ou mais assinaturas forem sincronizadas, as assinaturas devem ser descartadas, recriadas e sincronizadas. Para obter mais informações sobre nível de compatibilidade, consulte a seção "Nível de compatibilidade para publicações de mesclagem" no tópico Usando várias versões do SQL Server em uma topologia de replicação.

  • Para publicações de instantâneo ou publicações transacionais, os artigos podem ser descartados sem considerações especiais antes de as assinatura serem criadas. Se o artigo for descartado depois que uma ou mais assinaturas forem criadas, as assinaturas devem ser descartadas, recriadas e sincronizadas. Para obter mais informações sobre como descartar assinaturas, consulte Assinando publicações e sp_dropsubscription (Transact-SQL). sp_dropsubscription permite descartar um único artigo da assinatura em lugar da assinatura inteira.

  1. Descartar um artigo de uma publicação envolve descartar o artigo e criar um novo instantâneo para a publicação. Descartar um artigo invalida o instantâneo atual; conseqüentemente, um novo instantâneo deve ser criado.

    Para descartar um artigo de uma publicação

  2. Após descartar um artigo de uma publicação, é necessário criar um novo instantâneo para a publicação (e todas as partições se for uma publicação de mesclagem com filtros com parâmetros).

    Para criar um novo instantâneo

    Para criar um novo instantâneo para uma publicação de mesclagem com filtros com parâmetros

Como observado anteriormente, em alguns casos, descartar um artigo exige descartar assinaturas, recriá-las e, então, sincronizá-las. Para obter mais informações, consulte Assinando publicações e Sincronizando dados.