Come aggiungere un articolo per un'istantanea esistente o per una pubblicazione transazionale utilizzando sistema stored procedure

Traduzione articoli Traduzione articoli
Identificativo articolo: 830210 - Visualizza i prodotti a cui si riferisce l?articolo.
Espandi tutto | Chiudi tutto

In questa pagina

INTRODUZIONE

Esistono due modi per aggiungere un articolo non pubblicato a una pubblicazione transazionale, uno snapshot esistente o per la pubblicazione di tipo merge. ╚ possibile utilizzare SQL Server Enterprise Manager per aggiungere un articolo non pubblicato oppure Ŕ possibile utilizzare le replica stored procedure di sistema forniti con SQL Server per aggiungere un articolo non pubblicato.

Se si aggiunge un articolo non pubblicato a una pubblicazione esistente utilizzando SQL Server Enterprise Manager, lo schema e i dati dell'articolo aggiunto viene propagata automaticamente a tutti gli abbonati quando si esegue gli agenti di replica corrispondente per la prima volta dopo aver aggiunto l'articolo. Se si aggiunge un articolo in una pubblicazione di stampa unione utilizzando la stored procedure sp_addmergearticle replica stored procedure di sistema, lo schema e i dati dell'articolo aggiunto viene propagato automaticamente a tutti gli abbonati. Tuttavia, se si utilizza la sp_addarticle replica stored procedure di sistema per aggiungere un articolo non pubblicato a uno snapshot o di una pubblicazione transazionale, lo schema e i dati dell'articolo aggiunto non viene propagata automaticamente a tutti gli abbonati quando si esegue gli agenti di replica corrispondente per la prima volta dopo aver aggiunto l'articolo.

In questo articolo viene descritto come aggiungere un articolo per un'istantanea esistente o per una pubblicazione transazionale utilizzando il sistema di replica memorizzato procedure in modo che, lo schema e i dati dell'articolo aggiunto anche viene propagata agli utenti sottoscrittori durante il processo di sincronizzazione.

Per ulteriori informazioni su come aggiungere un articolo tramite SQL Server Enterprise manager, vedere il seguente argomento nella documentazione in linea di SQL Server:

How to modify publications and articles (Enterprise Manager)

Informazioni

Aggiunge un articolo per un'istantanea esistente o per una pubblicazione transazionale

Per aggiungere un articolo a uno snapshot o di una pubblicazione transazionale, Ŕ possibile utilizzare la sp_addarticle replica stored procedure di sistema. Tuttavia, quando si utilizza la procedura di sp_addarticle archiviati, la sottoscrizione non viene automaticamente aggiornata. Di conseguenza, Ŕ necessario aggiungere la sottoscrizione in modo esplicito il nuovo articolo. Per effettuare questa operazione, attenersi alla seguente procedura:
  1. Avviare SQL Server Enterprise Manager.
  2. Nel riquadro di sinistra individuare e selezionare l'istanza di SQL Server che contiene la pubblicazione.
  3. Scegliere replica dal menu Strumenti , quindi Crea e gestisci pubblicazioni .
  4. Nella finestra di dialogo Crea e gestisci pubblicazioni su Instance Name, individuare e selezionare la pubblicazione. Fare clic su pubblicazione script .
  5. Nel Genera Script SQL-< Pubblicazione Nome > della finestra di dialogo le Opzioni Script di sezione, fare clic per selezionare l'opzione script la procedura per creare la pubblicazione e quindi fare clic su Anteprima .
  6. Nel script componente di replica anteprima finestra di dialogo fare clic su Salva .
  7. Nella finestra di dialogo Percorso di file di script , digitare NewArticle.sql nella casella Nome File e quindi fare clic su Salva .
  8. Avviare SQL Query Analyzer e quindi connettersi all'istanza di SQL Server che contiene la pubblicazione.
  9. Per aggiungere un articolo non pubblicato la pubblicazione, eseguire istruzioni Transact-SQL che analoga al seguente in SQL Query Analyzer nel server di pubblicazione nel database di pubblicazione.
    • esempio di codice per una pubblicazione snapshot
      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 ╚ necessario copiare una delle istruzioni Transact-SQL che contengono la sp_addarticle replica stored procedure di sistema Ŕ stato utilizzato per aggiungere un articolo alla pubblicazione dal file di script NewArticle.sql creato nel passaggio 7.

      Assicurarsi di modificare i seguenti parametri come specificato prima di eseguire le istruzioni Transact-SQL.

      Riduci questa tabellaEspandi questa tabella
      ParametroValore
      @ publicationIl nome della pubblicazione corrente.
      @ articleIl nome del nuovo articolo.
      @ source_objectIl nome della tabella sottostante rappresentata dal nuovo articolo.
      @ destination_tableIl nome della tabella destinazione che verrÓ creato nel server di sottoscrizione.
      @ force_invalidate_snapshot1 (Se generato uno snapshot Ŕ giÓ per la pubblicazione.)


      Inoltre, se l'articolo include una colonna identity e si desidera gestire la gestione di identitÓ intervallo, Ŕ necessario impostare l'opzione @ auto_identity_range parametro su true .
    • esempio di codice per una pubblicazione transazionale sp_addarticle
      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 ╚ necessario copiare una delle istruzioni Transact-SQL che contengono la sp_addarticle replica stored procedure di sistema Ŕ stato utilizzato per aggiungere un articolo alla pubblicazione dal file di script NewArticle.sql creato nel passaggio 7.

      Assicurarsi di modificare i seguenti parametri come specificato prima di eseguire le istruzioni Transact-SQL.

      Riduci questa tabellaEspandi questa tabella
      ParametroValore
      @ publicationIl nome della pubblicazione corrente.
      @ articleIl nome del nuovo articolo.
      @ source_objectIl nome della tabella sottostante rappresentata dal nuovo articolo.
      @ destination_tableIl nome della tabella destinazione che verrÓ creato nel server di sottoscrizione.
      @ ins_cmdCALL sp_MSins_ < Articolo Nome >
      @ del_cmdCALL sp_MSdel_ < Articolo Nome >
      @ upd_cmdMCALL sp_MSupd_ < Articolo Nome >
      @ force_invalidate_snapshot1 (Se generato uno snapshot Ŕ giÓ per la pubblicazione.)


      Inoltre, se l'articolo include una colonna identity e si desidera gestire la gestione di identitÓ intervallo, Ŕ necessario impostare l'opzione @ auto_identity_range parametro su true .
    Dopo aver aggiunto l'articolo non pubblicato alla pubblicazione corrente, si noterÓ che la proprietÓ di Abbonamento completo per ogni sottoscrizione che sottoscrive la pubblicazione corrente Ŕ impostata su No :

    abbonamento completo: No, la sottoscrizione contiene solo alcuni degli articoli in questa pubblicazione.
  10. Aggiungere sottoscrizioni dell'articolo Ŕ stata aggiunta alla pubblicazione.
    • esempio di codice per una sottoscrizione push

      Per ogni sottoscrizione push che sottoscrive la pubblicazione corrente, eseguire le istruzioni Transact-SQL in SQL Query Analyzer nel server di pubblicazione nel database di pubblicazione. Di seguito Ŕ riportato un esempio: sp_addsubscription
      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 ╚ necessario copiare in una delle istruzioni Transact-SQL che contengono il sistema di replica sp_addsubscription stored procedure che Ŕ stata utilizzata per aggiungere la sottoscrizione per un articolo dal file di script NewArticle.sql creato nel passaggio 7.

      Assicurarsi di modificare i seguenti parametri prima di eseguire l'istruzione Transact-SQL.

      Riduci questa tabellaEspandi questa tabella
      ParametroValore
      @ publicationIl nome della pubblicazione corrente.
      @ articleIl nome del nuovo articolo.
      @ subscriberIl nome del server di sottoscrizione.
      destination_db @Nome del database di destinazione contenente la sottoscrizione.


      ╚ inoltre necessario assicurarsi che i parametri che possono modificare le proprietÓ esistenti della sottoscrizione non possono essere modificati.
    • esempio di codice per una sottoscrizione pull

      Per aggiungere sottoscrizioni ai nuovi articoli in sottoscrizioni pull per tutti i sottoscrittori esistenti della pubblicazione, eseguire istruzioni Transact-SQL in SQL Query Analyzer nel server di pubblicazione nel database di pubblicazione. Di seguito Ŕ riportato un esempio:
      USE <Publication Database>
      GO
      
      EXEC sp_refreshsubscriptions 
      	@publication = N'<Publication Name>'
      GO
    ╚ possibile notare che la proprietÓ di Abbonamento completo per ogni sottoscrizione che sottoscrive la pubblicazione corrente Ŕ impostata su :

    abbonamento completo: Sý, la sottoscrizione contiene tutti gli articoli in questa pubblicazione.
  11. Consente di eseguire l'agente snapshot corrispondente alla pubblicazione nel server di distribuzione corrente.
  12. Eseguire l'agente di distribuzione che corrisponde a ogni sottoscrizione che sottoscrive la pubblicazione corrente.

Riferimenti

Per ulteriori informazioni per il sistema di replica stored procedure che vengono utilizzate per aggiungere la replica, vedere i seguenti argomenti nella documentazione in linea di SQL Server:
sp_addsubscription

sp_refreshsubscriptions

sp_addarticle


Per ulteriori informazioni sulla gestione di valori identity, vedere il seguente argomento nella documentazione in linea di SQL Server:
Managing Identity Values


Per ulteriori informazioni la stored procedure sp_addmergearticle stored procedure, fare clic sui numeri degli articoli della Microsoft Knowledge Base riportato di seguito:
297369FIX: Corretto errore si verifica quando si aggiunge una pubblicazione con server di sottoscrizione NO sincronizzazione articolo di tipo merge

269204BUG: L'aggiunta di un articolo di merge con un filtro di subset potrebbe causare l'agente snapshot per esito negativo

ProprietÓ

Identificativo articolo: 830210 - Ultima modifica: lunedý 23 aprile 2007 - Revisione: 1.8
Le informazioni in questo articolo si applicano a:
  • Microsoft SQL Server 2000 Standard Edition
Chiavi:á
kbmt kbreplication kbhowtomaster kbcodesnippet kbhowto KB830210 KbMtit
Traduzione automatica articoli
Il presente articolo Ŕ stato tradotto tramite il software di traduzione automatica di Microsoft e non da una persona. Microsoft offre sia articoli tradotti da persone fisiche sia articoli tradotti automaticamente da un software, in modo da rendere disponibili tutti gli articoli presenti nella nostra Knowledge Base nella lingua madre dell?utente. Tuttavia, un articolo tradotto in modo automatico non Ŕ sempre perfetto. Potrebbe contenere errori di sintassi, di grammatica o di utilizzo dei vocaboli, pi¨ o meno allo stesso modo di come una persona straniera potrebbe commettere degli errori parlando una lingua che non Ŕ la sua. Microsoft non Ŕ responsabile di alcuna imprecisione, errore o danno cagionato da qualsiasi traduzione non corretta dei contenuti o dell?utilizzo degli stessi fatto dai propri clienti. Microsoft, inoltre, aggiorna frequentemente il software di traduzione automatica.
Clicca qui per visualizzare la versione originale in inglese dell?articolo: 830210
LE INFORMAZIONI CONTENUTE NELLA MICROSOFT KNOWLEDGE BASE SONO FORNITE SENZA GARANZIA DI ALCUN TIPO, IMPLICITA OD ESPLICITA, COMPRESA QUELLA RIGUARDO ALLA COMMERCIALIZZAZIONE E/O COMPATIBILITA' IN IMPIEGHI PARTICOLARI. L'UTENTE SI ASSUME L'INTERA RESPONSABILITA' PER L'UTILIZZO DI QUESTE INFORMAZIONI. IN NESSUN CASO MICROSOFT CORPORATION E I SUOI FORNITORI SI RENDONO RESPONSABILI PER DANNI DIRETTI, INDIRETTI O ACCIDENTALI CHE POSSANO PROVOCARE PERDITA DI DENARO O DI DATI, ANCHE SE MICROSOFT O I SUOI FORNITORI FOSSERO STATI AVVISATI. IL DOCUMENTO PUO' ESSERE COPIATO E DISTRIBUITO ALLE SEGUENTI CONDIZIONI: 1) IL TESTO DEVE ESSERE COPIATO INTEGRALMENTE E TUTTE LE PAGINE DEVONO ESSERE INCLUSE. 2) I PROGRAMMI SE PRESENTI, DEVONO ESSERE COPIATI SENZA MODIFICHE, 3) IL DOCUMENTO DEVE ESSERE DISTRIBUITO INTERAMENTE IN OGNI SUA PARTE. 4) IL DOCUMENTO NON PUO' ESSERE DISTRIBUITO A SCOPO DI LUCRO.

Invia suggerimenti

 

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