Como adicionar um artigo para um instantâneo existente ou para uma publicação transaccional através da utilização de sistema de procedimentos armazenados

Traduções de Artigos Traduções de Artigos
Artigo: 830210 - Ver produtos para os quais este artigo se aplica.
Expandir tudo | Reduzir tudo

Nesta página

INTRODUÇÃO

Existem duas formas para adicionar um artigo não publicado para um instantâneo existente, a uma publicação transaccional, ou para intercalar a publicação. Pode utilizar o SQL Server Enterprise Manager para adicionar um artigo não publicado ou pode utilizar os procedimentos de armazenado do sistema de replicação que são fornecidos com o SQL Server para adicionar um artigo não publicado.

Se adicionar um artigo não publicado a uma publicação existente utilizando o SQL Server Enterprise Manager, o esquema e os dados do artigo adicionado é propagado automaticamente para todos os subscritores quando executa os agentes de replicação respectivos pela primeira vez depois de adicionar o artigo. Se adicionar um artigo a uma publicação de impressão em série utilizando o procedimento de armazenado do sistema de replicação sp_addmergearticle , o esquema e os dados do artigo adicionado é automaticamente propagado a todos os subscritores. No entanto, se utilizar o procedimento de armazenado do sistema de replicação sp_addarticle para adicionar um artigo não publicado para um instantâneo ou para uma publicação transaccional, o esquema e os dados do artigo adicionado não está propagada automaticamente a todos os subscritores quando 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 utilizando o sistema de replicação transaccional procedimentos armazenados de modo a que o esquema e os dados do artigo adicionado é também com êxito propagado para os subscritores durante o processo de sincronização.

Para obter mais informações sobre como adicionar um artigo usando o SQL Server Enterprise Gestor, consulte o tópico seguinte no SQL Server Books Online:

How to modify publications and articles (Enterprise Manager)

Mais Informação

Adicionar um artigo a um instantâneo existente ou a uma publicação transaccional

Para adicionar um artigo a um instantâneo ou a uma publicação transaccional, pode utilizar o procedimento de armazenado do sistema de replicação sp_addarticle . No entanto, quando utiliza o procedimento sp_addarticle armazenados, a subscrição não é automaticamente actualizada. Por este motivo, deve adicionar explicitamente a subscrição para o novo artigo. Para o fazer, siga estes passos:
  1. Inicie o SQL Server Enterprise Manager.
  2. No painel da esquerda, localize e, em seguida, seleccione 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 gerir publicações .
  4. Na caixa de diálogo criar e gerir publicações no Instance Name, localize e, em seguida, seleccione a publicação. Clique em script publicação .
  5. No gerar script SQL-< Publicação Nome > caixa de diálogo, em Opções do script de secção, clique para seleccionar a opção script os passos para criar esta publicação e, em seguida, clique em Pré-visualizar .
  6. No replicação componente de script pré-visualização diálogo caixa, clique em Guardar como .
  7. Na caixa de diálogo Localização dos ficheiros script , escreva NewArticle.sql na caixa Nome do ficheiro e, em seguida, clique em Guardar .
  8. Iniciar o SQL Query Analyzer e, em seguida, ligue para a instância do SQL Server que contém a publicação.
  9. Para adicionar um artigo não publicado na publicação, execute instruções de Transact-SQL semelhantes à seguinte no SQL Query Analyzer no Editor na base 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
      
      Nota Tem de copiar uma das instruções Transact-SQL que contêm o procedimento de armazenado do sistema de replicação sp_addarticle que foi utilizado para adicionar um artigo a publicação do ficheiro de script NewArticle.sql que foi criado no passo 7.

      Certifique-se de que poderá modificar os seguintes parâmetros tal como especificado antes de executar as instruções de Transact-SQL.

      Reduzir esta tabelaExpandir esta tabela
      ParâmetroValor
      @ publicaçãoO nome da publicação actual.
      @ artigoO nome do novo artigo.
      @ source_objectO nome da tabela subjacente é representada pelo novo artigo.
      @ destination_tableO nome da tabela de destino será criado no subscritor.
      @ force_invalidate_snapshot1 (Se um instantâneo já é gerado para a publicação.)


      Além disso, se o artigo contém uma coluna de identidade e desejar que o SQL Server para gerir o processamento de intervalo de identidade, tem de definir @ auto_identity_range parâmetro como true .
    • exemplo de código para uma publicação transaccional
      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

      Nota Tem de copiar uma das instruções Transact-SQL que contêm o procedimento de armazenado do sistema de replicação sp_addarticle que foi utilizado para adicionar um artigo a publicação do ficheiro de script NewArticle.sql que foi criado no passo 7.

      Certifique-se de que poderá modificar os seguintes parâmetros tal como especificado antes de executar as instruções de Transact-SQL.

      Reduzir esta tabelaExpandir esta tabela
      ParâmetroValor
      @ publicaçãoO nome da publicação actual.
      @ artigoO nome do novo artigo.
      @ source_objectO nome da tabela subjacente é representada pelo novo artigo.
      @ destination_tableO nome da tabela de destino será criado no subscritor.
      @ 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á é gerado para a publicação.)


      Além disso, se o artigo contém uma coluna de identidade e desejar que o SQL Server para gerir o processamento de intervalo de identidade, tem de definir @ auto_identity_range parâmetro como true .
    Depois de adicionar o artigo não publicado à publicação actual, poderá notar que a propriedade de Subscrição total para cada subscrição que subscreve à publicação actual está definida para não :

    subscrição completo: não, esta subscrição contém apenas alguns dos artigos desta publicação.
  10. Adicione subscrições o artigo foi adicionado à publicação.
    • exemplo de código para uma subscrição de emissão

      Para cada subscrição de emissão que subscreve à publicação actual, execute as instruções de Transact-SQL no SQL Query Analyzer no Editor na base de dados de publicação. Eis 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
      Nota que tem de copiar uma das instruções Transact-SQL que contêm o sistema de replicação sp_addsubscription armazenados procedimento que foi utilizado para adicionar a subscrição de um artigo do ficheiro de script NewArticle.sql que foi criado no passo 7.

      Certifique-se de que poderá modificar os parâmetros seguintes antes de executar a instrução Transact-SQL.

      Reduzir esta tabelaExpandir esta tabela
      ParâmetroValor
      @ publicaçãoO nome da publicação actual.
      @ artigoO nome do novo artigo.
      @ subscritorO nome do subscritor.
      @ destination_dbO nome da base de dados destino que contém a subscrição.


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

      Para adicionar subscrições para novos artigos em subscrições de solicitação para todos os subscritores existentes à publicação, execute as instruções de Transact-SQL no SQL Query Analyzer no Editor na base de dados de publicação. Eis um exemplo:
      USE <Publication Database>
      GO
      
      EXEC sp_refreshsubscriptions 
      	@publication = N'<Publication Name>'
      GO
    Poderá notar que a propriedade de Subscrição total para cada subscrição que subscreve à publicação actual está definida para Sim :

    subscrição completo: Sim, esta subscrição contém todos os artigos na publicação.
  11. Execute o agente de Snapshot que corresponde à publicação actual com o distribuidor.
  12. Execute o Distribution Agent corresponde para cada subscrição que subscreve à publicação actual.

Referências

Para obter mais informações sobre o sistema de replicação procedimentos armazenados que são utilizados para adicionar replicação, consulte os seguintes tópicos no SQL Server Books Online:
sp_addsubscription

sp_refreshsubscriptions

sp_addarticle


Para mais informações sobre como gerir identidade valores, consulte o seguinte tópico no SQL Server Books Online:
Managing Identity Values


Para obter informações adicionais a sp_addmergearticle armazenados procedimento, clique os números de artigo existentes se abaixo para visualizar os artigos na base de dados de conhecimento da Microsoft:
297369CORRECÇÃO: Erro incorrecto ocorre quando adicionar artigo de impressão em série a uma publicação NO SYNC subscritor

269204Erro: A adição de um artigo de impressão em série com um filtro de subconjunto poderá provocar o agente de Snapshot falhar

Propriedades

Artigo: 830210 - Última revisão: 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 revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes 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