Como adicionar um artigo para um instantâneo existente ou para uma publicação transacional usando sistema de procedimentos armazenados

Traduções deste artigo Traduções deste artigo
ID do artigo: 830210 - Exibir os produtos aos quais esse artigo se aplica.
Expandir tudo | Recolher tudo

Neste artigo

INTRODUÇÃO

Há duas maneiras para adicionar um artigo não publicado a um instantâneo existente, a uma publicação transacional, ou a publicação de mesclagem. Você pode usar SQL Server Enterprise Manager para adicionar um artigo não publicado, ou você pode usar os procedimentos armazenados do sistema duplicação são fornecidos com o SQL Server para adicionar um artigo não publicado.

Se você adicionar um artigo não publicado a uma publicação existente, usando SQL Server Enterprise Manager, o esquema e os dados do artigo adicionado é propagado automaticamente para todos os assinantes quando você executa os agentes de replicação respectivos pela primeira vez depois de adicionar o artigo. Se você adicionar um artigo para uma publicação de mesclagem usando o procedimento de armazenado do sistema de replicação sp_addmergearticle , o esquema e os dados do artigo adicionado é automaticamente propagado para todos os assinantes. No entanto, se você usar o procedimento de armazenado do sistema de replicação sp_addarticle para adicionar um artigo não publicado a um instantâneo ou a uma publicação transacional, o esquema e os dados do artigo adicionado não é propagada automaticamente para todos os assinantes quando você executa os agentes de replicação respectivos pela primeira vez depois de adicionar o artigo.

Este artigo descreve como adicionar um artigo para um instantâneo existente ou para uma publicação usando o sistema de replicação transacional armazenados procedimentos para que o esquema e os dados do artigo adicionado é também com êxito propagadas para os assinantes durante o processo de sincronização.

Para obter mais informações sobre como adicionar um artigo usando o SQL Server Enterprise Gerenciador, consulte o tópico seguinte nos manuais online do SQL Server:

How to modify publications and articles (Enterprise Manager)

Mais Informações

Adicionar um artigo para um instantâneo existente ou para uma publicação transacional

Para adicionar um artigo para um instantâneo ou para uma publicação transacional, você pode usar o procedimento de armazenado do sistema de replicação sp_addarticle . No entanto, quando você usa o procedimento sp_addarticle armazenado, a inscrição não atualizada automaticamente. Portanto, você deve adicionar explicitamente a inscrição para o novo artigo. Para fazer isso, execute estas etapas:
  1. Inicie o SQL Server Enterprise Manager.
  2. No painel à esquerda, localize e selecione a instância do SQL Server que contém a publicação.
  3. No menu Ferramentas , aponte para replicação e, em seguida, clique em criar e gerenciar publicações .
  4. Na caixa de diálogo criar e gerenciar publicações em Instance Name, localize e selecione sua publicação. Clique em publicação de script .
  5. No gerar script SQL-< Publicação Nome > caixa de diálogo, em Opções do script de seção, clique em para selecionar a opção script as etapas para criar esta publicação e, em seguida, clique em Visualizar .
  6. No replicação componente script visualizar diálogo caixa, clique em Salvar como .
  7. Na caixa de diálogo Local do arquivo script , digite NewArticle.sql na caixa Nome do arquivo e, em seguida, clique em Salvar .
  8. Inicie o SQL Query Analyzer e, em seguida, conecte-se à instância do SQL Server que contém a publicação.
  9. Para adicionar um artigo não publicado à sua publicação, execute instruções Transact-SQL são semelhantes ao seguinte no SQL Query Analyzer no Editor no banco de dados de publicação.
    • exemplo de código para uma publicação de instantâneo
      USE <Publication Database>
      GO
      
      EXEC sp_addarticle 
      	@publication = N'<Publication Name>', 
      	@article = N'<Article Name>', 
      	@source_owner = N'dbo', 
      	@source_object = N'<Article Object Name>', 
      	@destination_table = N'<Destination Table Name>', 
      	@type = N'logbased', 
      	@creation_script = null, 
      	@description = null, 
      	@pre_creation_cmd = N'drop', 
      	@schema_option = 0x00000000000000F1, 
      	@status = 0, 
      	@vertical_partition = N'false', 
      	@ins_cmd = N'SQL', 
      	@del_cmd = N'SQL', 
      	@upd_cmd = N'SQL', 
      	@filter = null, 
      	@sync_object = null, 
      	@auto_identity_range = N'false'
      GO
      
      Observação Você deve copiar uma das instruções Transact-SQL que contém o procedimento armazenado do sistema de replicação sp_addarticle era usado para adicionar um artigo à publicação do arquivo de script NewArticle.sql que foi criado na etapa 7.

      Certifique-se de que você modifique os seguintes parâmetros conforme especificado antes de executar instruções Transact-SQL.

      Recolher esta tabelaExpandir esta tabela
      ParâmetroValor
      publicação @O nome da publicação atual.
      @ articleO nome do novo artigo.
      @ source_objectO nome da tabela subjacente que é representado por novo artigo.
      @ destination_tableO nome da tabela de destino será criado no assinante.
      @ force_invalidate_snapshot1 (Se um instantâneo já foi gerado para a publicação.)


      Além disso, se o artigo contém uma coluna de identidade e você desejar SQL Server para gerenciar o tratamento de intervalo de identidade, você deve definir @ auto_identity_range parâmetro como true .
    • exemplo de código para uma publicação transacional
      USE <Publication Database>
      GO
      
      EXEC sp_addarticle 
      	@publication = N'<Publication Name>', 
      	@article = N'<Article Name>', 
      	@source_owner = N'dbo', 
      	@source_object = N'<Article Object Name>', 
      	@destination_table = N'<Destination Table Name>', 
      	@type = N'logbased', 
      	@creation_script = null, 
      	@description = null, 
      	@pre_creation_cmd = N'drop', 
      	@schema_option = 0x00000000000000F3, 
      	@status = 16, 
      	@vertical_partition = N'false', 
      	@ins_cmd = N'CALL sp_MSins_<Article Name>', 
      	@del_cmd = N'CALL sp_MSdel_<Article Name>', 
      	@upd_cmd = N'MCALL sp_MSupd_<Article Name>', 
      	@filter = null, 
      	@sync_object = null, 
      	@auto_identity_range = N'false'
      GO

      Observação Você deve copiar uma das instruções Transact-SQL que contém o procedimento armazenado do sistema de replicação sp_addarticle era usado para adicionar um artigo à publicação do arquivo de script NewArticle.sql que foi criado na etapa 7.

      Certifique-se de que você modifique os seguintes parâmetros conforme especificado antes de executar instruções Transact-SQL.

      Recolher esta tabelaExpandir esta tabela
      ParâmetroValor
      publicação @O nome da publicação atual.
      @ articleO nome do novo artigo.
      @ source_objectO nome da tabela subjacente que é representado por novo artigo.
      @ destination_tableO nome da tabela de destino será criado no assinante.
      @ ins_cmdCHAMAR sp_MSins_ < Artigo Nome >
      @ del_cmdCHAMAR sp_MSdel_ < Artigo Nome >
      @ upd_cmdMCALL sp_MSupd_ < Artigo Nome >
      @ force_invalidate_snapshot1 (Se um instantâneo já foi gerado para a publicação.)


      Além disso, se o artigo contém uma coluna de identidade e você desejar SQL Server para gerenciar o tratamento de intervalo de identidade, você deve definir @ auto_identity_range parâmetro como true .
    Depois de adicionar o artigo não publicado para a publicação atual, você pode observar que a propriedade de Assinatura total para cada assinatura assina a publicação atual está definida como não :

    assinatura completa: não, esta inscrição contém apenas alguns dos artigos nesta publicação.
  10. Adicione inscrições ao artigo foi adicionado à sua publicação.
    • exemplo de código para uma inscrição de envio

      Para cada inscrição de envio que se inscreve para a publicação atual, execute as instruções Transact-SQL no SQL Query Analyzer no Editor no banco de dados publicação. Aqui está um exemplo:
      USE <Publication Database>
      GO
      
      EXEC sp_addsubscription 
      	@publication = N'<publication Name>', 
      	@article = N'<Article Name>', 
      	@subscriber = N'<Subscriber Name>', 
      	@destination_db = N'<Destination Database>', 
      	@sync_type = N'automatic', 
      	@update_mode = N'read only', 
      	@offloadagent = 0, 
      	@dts_package_location = N'distributor'
      GO
      Observação você deve copiar uma das instruções Transact-SQL que contêm o sistema de replicação sp_addsubscription procedimento armazenado que foi usado para adicionar a inscrição para um artigo do arquivo de script NewArticle.sql que foi criado na etapa 7.

      Certifique-se de que você modifique os parâmetros a seguir antes de executar a instrução Transact-SQL.

      Recolher esta tabelaExpandir esta tabela
      ParâmetroValor
      publicação @O nome da publicação atual.
      @ articleO nome do novo artigo.
      @ assinanteO nome do assinante.
      @ destination_dbO nome do banco de dados destino que contém a inscrição.


      Você também deve certificar-se que os parâmetros que podem alterar as propriedades existentes da inscrição não podem ser modificados.
    • exemplo de código para uma inscrição de recepção

      Para adicionar inscrições a novos artigos nas inscrições de recepção para todos os assinantes existentes para a publicação, execute instruções Transact-SQL no SQL Query Analyzer no Editor no banco de dados publicação. Aqui está um exemplo: publicação @
      USE <Publication Database>
      GO
      
      EXEC sp_refreshsubscriptions 
      	@publication = N'<Publication Name>'
      GO
    Você pode observar que a propriedade de Assinatura total para cada assinatura assina a publicação atual está definida como Sim :

    assinatura completa: Sim, esta inscrição contém todos os artigos esta publicação.
  11. Execute o Snapshot Agent que corresponde à publicação atual no distribuidor.
  12. Execute o Distribution Agent que corresponde a cada assinatura assina a publicação atual.

Referências

Para obter mais informações sobre o sistema de replicação procedimentos armazenados que são usados para adicionar a replicação, consulte os seguintes tópicos nos manuais online do SQL Server:
sp_addsubscription

sp_refreshsubscriptions

sp_addarticle


Para obter mais informações sobre como gerenciar valores de identidade, consulte o tópico a seguir nos manuais online do SQL Server:
Managing Identity Values


Para obter informações adicionais o sp_addmergearticle procedimento armazenado, clique nos números abaixo para ler os artigos na Base de dados de Conhecimento da Microsoft:
297369CORRECÇÃO: Erro incorreto ocorre quando você adiciona o artigo de mesclagem a uma publicação com assinatura de sincronização NO

269204Erro: A adição de um artigo de mesclagem com um filtro de subconjunto pode causar o Snapshot Agent para falha

Propriedades

ID do artigo: 830210 - Última revisão: segunda-feira, 23 de abril de 2007 - Revisão: 1.8
A informação contida neste artigo aplica-se a:
  • Microsoft SQL Server 2000 Standard Edition
Palavras-chave: 
kbmt kbreplication kbhowtomaster kbcodesnippet kbhowto KB830210 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 830210

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com