Adicionar e remover 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çã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. |
Adicione um ou mais artigos com um dos métodos seguintes:
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 Agente de Distribuição ou o Agente de Mesclagem 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, consulte Criar e aplicar o instantâneo inicial.
- Para criar um novo instantâneo para uma publicação de mesclagem com filtros com parâmetros, consulte Criar um instantâneo para uma publicação de mesclagem com filtros com parâmetros.
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, consulte Sincronizar uma assinatura push.
- Para sincronizar uma assinatura pull, consulte 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 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 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 remover assinaturas, consulte Assinar publicações e sp_dropsubscription (Transact-SQL). sp_dropsubscription permite a você remover um único artigo da assinatura, em vez da assinatura inteira.
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; consequentemente, um novo instantâneo deve ser criado.
- Para remover um artigo de uma publicação, consulte Adicionar e descartar artigos em uma publicação (SQL Server Management Studio) ou Excluir um artigo.
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, consulte Criar e aplicar o instantâneo inicial.
- Para criar um novo instantâneo para uma publicação de mesclagem com filtros com parâmetros, consulte Criar um 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 Assinar publicações e Sincronizar dados.
Consulte também
Conceitos
Publicar dados e objetos de banco de dados
Fazer alterações de esquema em bancos de dados de publicação