Wie Sie einen Artikel um einen vorhandenen Snapshot oder eine Transaktionspublikation hinzufügen, indem mit gespeicherten Prozeduren

SPRACHE AUSWÄHLEN SPRACHE AUSWÄHLEN
Artikel-ID: 830210 - Produkte anzeigen, auf die sich dieser Artikel bezieht
Alles erweitern | Alles schließen

Auf dieser Seite

EINFÜHRUNG

Es gibt zwei Möglichkeiten, einen nicht veröffentlichten Artikel um einen vorhandenen Snapshot zu einer Transaktionspublikation hinzuzufügen oder Publikation zusammenführen. Sie können entweder SQL Server Enterprise Manager verwenden, um einen nicht veröffentlichten Artikel hinzuzufügen, oder Sie können die gespeicherten Systemprozeduren, die bereitgestellt werden mit SQL Server verwenden, um einen nicht veröffentlichten Artikel hinzuzufügen.

Wenn Sie einen nicht veröffentlichten Artikel mithilfe von SQL Server Enterprise Manager zu einer bestehenden Publikation hinzufügen, wird das Schema und die Daten der hinzugefügten Artikel automatisch an alle Abonnenten weitergegeben beim Ausführen der jeweiligen Replikations-Agents zum ersten Mal nach dem Artikel hinzufügen. Wenn Sie ein Artikels zu einer Mergepublikation hinzufügen mithilfe der Sp_addmergearticle Replikation im System gespeicherten Prozedur, das Schema und die Daten der hinzugefügten Artikel automatisch an alle Abonnenten weitergegeben wird. Jedoch, wenn Sie der Sp_addarticle Replikation im System gespeicherten Prozedur verwenden, um einen nicht veröffentlichten Artikel um einen Snapshot oder eine Transaktionspublikation hinzuzufügen, ist das Schema und die Daten der hinzugefügten Artikel nicht automatisch an alle Abonnenten weitergegeben beim Ausführen der jeweiligen Replikations-Agents zum ersten Mal nach dem Hinzufügen des Artikels.

Dieser Artikel beschreibt zum Hinzufügen ein Artikels, um einen vorhandenen Snapshot oder eine Transaktionspublikation mithilfe der Replikation Prozeduren gespeichert, sodass das Schema und die Daten der hinzugefügten Artikel auch erfolgreich an die Abonnenten während des Synchronisierungsvorgangs weitergegeben wird.

Weitere Informationen zum Hinzufügen von eines Artikels mithilfe von SQL Server Enterprise Manager finden Sie im folgenden Thema in SQL Server-Onlinedokumentation:

How to modify publications and articles (Enterprise Manager)

Weitere Informationen

Einen Artikel hinzugefügt einen vorhandenen Snapshot oder eine Transaktionspublikation

Einen Artikel um einen Snapshot oder eine Transaktionspublikation hinzufügen möchten, können Sie der Sp_addarticle Replikation im System gespeicherten Prozedur. Jedoch, wenn Sie die Sp_addarticle gespeicherte Prozedur verwenden, wird das Abonnement nicht automatisch aktualisiert. Daher müssen Sie den neuen Artikel explizit das Abonnement hinzufügen. Gehen Sie dazu folgendermaßen vor:
  1. Starten Sie SQL Server Enterprise Manager.
  2. Suchen Sie im linken Bereich und wählen Sie die Instanz von SQL Server, die die Publikation enthält.
  3. Zeigen Sie im Menü Extras auf Replikation , und klicken Sie dann auf Publikationen erstellen und Verwalten .
  4. Suchen Sie im Dialogfeld Publikationen erstellen und Verwalten Instance Name und wählen Sie dann Ihre Publikation. Klicken Sie auf Script Publikation .
  5. Erstellen Sie in der SQL­Skript-< Publikation Name > im Dialogfeld unter Skript Optionen Abschnitt, klicken Sie auf die Option Skript die Schritte zum Erstellen dieser Publikation und klicken Sie auf Vorschau .
  6. In der Replikation Komponente Skript Vorschau Dialogfeld Feld, klicken Sie auf Speichern unter .
  7. Geben Sie im Dialogfeld Skript Pfad NewArticle.sql im Feld Dateiname , und klicken Sie dann auf Speichern .
  8. Starten Sie SQL Query Analyzer, und dann eine Verbindung zu der Instanz von SQL Server, die die Publikation enthält herstellen.
  9. Um einen nicht veröffentlichten Artikel zu Ihrer Publikation hinzuzufügen, führen Sie Transact­SQL-Anweisungen, die der folgenden in SQL Query Analyzer auf dem Verleger für die Publikationsdatenbank ähneln.
    • Beispielcode für eine Snapshotpublikation
      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
      
      Hinweis: Sie müssen eine der Transact­SQL-Anweisungen kopieren, die der Sp_addarticle Replikation im System gespeicherten Prozedur enthalten, die zum Hinzufügen eines Artikels für die Publikation aus der NewArticle.sql-Skriptdatei, die in Schritt 7 erstellt wurde verwendet wurde.

      Stellen Sie sicher, dass die folgenden Parameter entsprechend, ändern bevor Sie die Transact-SQL-Anweisungen ausführen.

      Tabelle minimierenTabelle vergrößern
      ParameterWert
      @ publicationDer Name des die aktuelle Publikation.
      @ articleDer Name des neuen Artikels.
      @ source_objectDer Name der zugrunde liegenden Tabelle, die durch den neuen Artikel dargestellt wird.
      @ destination_tableDer Name des der Zieltabelle, die auf dem Abonnenten erstellt werden.
      @ force_invalidate_snapshot1 (Falls bereits ein Snapshot für die Publikation generiert wird.)


      Darüber hinaus Ihre Artikel enthält eine Identitätsspalte, und SQL Server, der von Identitätsbereichen verwalten möchten, muss festgelegt @ Auto_identity_range -Parameter auf true .
    • Beispielcode für eine Transaktionspublikation
      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

      Hinweis: Sie müssen eine der Transact­SQL-Anweisungen kopieren, die der Sp_addarticle Replikation im System gespeicherten Prozedur enthalten, die zum Hinzufügen eines Artikels für die Publikation aus der NewArticle.sql-Skriptdatei, die in Schritt 7 erstellt wurde verwendet wurde.

      Stellen Sie sicher, dass die folgenden Parameter entsprechend, ändern bevor Sie die Transact-SQL-Anweisungen ausführen.

      Tabelle minimierenTabelle vergrößern
      ParameterWert
      @ publicationDer Name des die aktuelle Publikation.
      @ articleDer Name des neuen Artikels.
      @ source_objectDer Name der zugrunde liegenden Tabelle, die durch den neuen Artikel dargestellt wird.
      @ destination_tableDer Name des der Zieltabelle, die auf dem Abonnenten erstellt werden.
      @ ins_cmdCALL Sp_Msins_ < Artikel Name >
      @ del_cmdCALL Sp_MSdel_ < Artikel Name >
      @ upd_cmdMCALL Sp_MSupd_ < Artikel Name >
      @ force_invalidate_snapshot1 (Falls bereits ein Snapshot für die Publikation generiert wird.)


      Darüber hinaus Ihre Artikel enthält eine Identitätsspalte, und SQL Server, der von Identitätsbereichen verwalten möchten, muss festgelegt @ Auto_identity_range -Parameter auf true .
    Nach dem Hinzufügen nicht veröffentlichten Artikels auf die aktuelle Publikation stellen Sie möglicherweise fest, dass die Vollständige Abonnement -Eigenschaft für jedes Abonnement, die der aktuellen Publikation abonniert, auf Nein festgelegt ist:

    vollständige Abonnement: Nein, dieses Abonnement enthält nur einige der Artikel in dieser Publikation.
  10. Fügen Sie Abonnements des Artikels, der die Ihrer Publikation hinzugefügt wurde.
    • Codebeispiel für ein Pushabonnement

      Führen Sie für jede Pushabonnement, die der aktuellen Publikation abonniert die Transact­SQL-Anweisungen in SQL Query Analyzer auf dem Verleger in der Publikationsdatenbank aus. Hier ist ein Beispiel:
      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
      Notiz Sie eine der Transact­SQL-Anweisungen kopieren müssen, die das Replikationssystem Sp_addsubscription enthalten gespeicherte Prozedur, die verwendet wurde, um das Abonnement für einen Artikel aus der NewArticle.sql-Skriptdatei hinzufügen, die in Schritt 7 erstellt wurde.

      Stellen Sie sicher, dass Sie die folgenden Parameter, ändern vor dem Ausführen der Transact-SQL-Anweisung.

      Tabelle minimierenTabelle vergrößern
      ParameterWert
      @ publicationDer Name des die aktuelle Publikation.
      @ articleDer Name des neuen Artikels.
      @ subscriberDer Name des Abonnenten.
      @ destination_dbDer Name der der Ziel-Datenbank, die das Abonnement enthält.


      Sie müssen auch sicherstellen, dass die Parameter, die die vorhandenen Eigenschaften des Abonnements ändern, können nicht geändert werden kann.
    • Codebeispiel für ein Pullabonnement

      Führen Sie die neue Artikel in der Pullabonnements für alle vorhandenen Abonnenten der Publikation Abonnements hinzufügen möchten, Transact-SQL-Anweisungen in SQL Query Analyzer auf dem Verleger auf der Publikationsdatenbank. Hier ist ein Beispiel:
      USE <Publication Database>
      GO
      
      EXEC sp_refreshsubscriptions 
      	@publication = N'<Publication Name>'
      GO
    Kann auftreten, dass die Vollständige Abonnement -Eigenschaft für jedes Abonnement, die der aktuellen Publikation abonniert, auf Ja festgelegt ist:

    vollständige Abonnement: Ja, dieses Abonnement alle Artikel in diese Publikation enthält
  11. Führen Sie die Snapshot-Agent, der entspricht, auf die aktuelle Publikation auf dem Verteiler.
  12. Führen Sie die Verteilungs-Agent, der entspricht jedes Abonnement, die der aktuellen Publikation abonniert.

Informationsquellen

Weitere Informationen über das Replikationssystem gespeicherte Prozeduren, die verwendet werden, um Replikation, hinzuzufügen finden Sie unter die folgenden Themen der Onlinedokumentation zu SQL Server:
sp_addsubscription

sp_refreshsubscriptions

sp_addarticle


Weitere Informationen zum Verwalten von Identitätswerten finden Sie unter dem folgenden Thema in SQL Server-Onlinedokumentation:
Managing Identity Values


Weitere Informationen die Sp_addmergearticle gespeicherte Prozedur, finden Sie folgenden Artikel der Microsoft Knowledge Base:
297369Update: Falsche Fehlermeldung tritt auf, wenn Sie eine Publikation mit NO SYNC Abonnenten Mergeartikel hinzufügen

269204Fehler: Die Hinzufügung von einem Mergeartikel mit einem Teilmengenfilter der Snapshot-Agent fehlschlagen verursachen

Eigenschaften

Artikel-ID: 830210 - Geändert am: Montag, 23. April 2007 - Version: 1.8
Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft SQL Server 2000 Standard Edition
Keywords: 
kbmt kbreplication kbhowtomaster kbcodesnippet kbhowto KB830210 KbMtde
Maschinell übersetzter Artikel
Wichtig: Dieser Artikel wurde maschinell und nicht von einem Menschen übersetzt. Die Microsoft Knowledge Base ist sehr umfangreich und ihre Inhalte werden ständig ergänzt beziehungsweise überarbeitet. Um Ihnen dennoch alle Inhalte auf Deutsch anbieten zu können, werden viele Artikel nicht von Menschen, sondern von Übersetzungsprogrammen übersetzt, die kontinuierlich optimiert werden. Doch noch sind maschinell übersetzte Texte in der Regel nicht perfekt, insbesondere hinsichtlich Grammatik und des Einsatzes von Fremdwörtern sowie Fachbegriffen. Microsoft übernimmt keine Gewähr für die sprachliche Qualität oder die technische Richtigkeit der Übersetzungen und ist nicht für Probleme haftbar, die direkt oder indirekt durch Übersetzungsfehler oder die Verwendung der übersetzten Inhalte durch Kunden entstehen könnten.
Den englischen Originalartikel können Sie über folgenden Link abrufen: 830210
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.

Ihr Feedback an uns

 

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