sp_reinitmergepullsubscription (Transact-SQL)

Markiert ein Mergepullabonnement für die Neuinitialisierung bei der nächsten Ausführung des Merge-Agents. Diese gespeicherte Prozedur wird auf dem Abonnenten für die Abonnementdatenbank ausgeführt.

Themenlink (Symbol)Transact-SQL-Syntaxkonventionen

Syntax

sp_reinitmergepullsubscription [ [ @publisher = ] 'publisher' ]
    [ , [ @publisher_db = ] 'publisher_db' ]
    [ , [ @publication = ] 'publication' ]
    [ , [ @upload_first = ] 'upload_first'

Argumente

  • [ @publisher= ] 'publisher'
    Der Name des Verlegers. publisher ist vom Datentyp sysname und hat den Standardwert ALL.

  • [ @publisher_db = ] 'publisher_db'
    Der Name der Verlegerdatenbank. publisher_db ist vom Datentyp sysname und hat den Standardwert ALL.

  • [ @publication= ] 'publication'
    Der Name der Veröffentlichung. publication ist vom Datentyp sysname und hat den Standardwert ALL.

  • [ @upload_first = ] 'upload_first'
    Gibt an, ob Änderungen auf dem Abonnenten vor dem erneuten Initialisieren des Abonnements hochgeladen werden. upload_first ist vom Datentyp nvarchar(5) und hat den Standardwert FALSE. Bei true werden Änderungen durch Hochladen übertragen, bevor das Abonnement erneut initialisiert wird. Bei false werden keine Änderungen durch Hochladen übertragen.

Rückgabecodewerte

0 (Erfolg) oder 1 (Fehler)

Hinweise

sp_reinitmergepullsubscription wird für die Mergereplikation verwendet.

Wenn Sie einen parametrisierten Filter hinzufügen, löschen oder ändern, können ausstehende Änderungen auf dem Abonnenten während der erneuten Initialisierung nicht auf den Verleger hochgeladen werden. Zum Hochladen ausstehender Änderungen müssen Sie alle Abonnements vor dem Ändern des Filters synchronisieren.

Beispiel

-- This script uses sqlcmd scripting variables. They are in the form
-- $(MyVariable). For information about how to use scripting variables  
-- on the command line and in SQL Server Management Studio, see the 
-- "Executing Replication Scripts" section in the topic
-- "Programming Replication Using System Stored Procedures".

DECLARE @publicationDB AS sysname;
DECLARE @publication AS sysname;
SET @publicationDB = N'AdventureWorks2008R2';
SET @publication = N'AdvWorksSalesOrdersMerge';

USE [AdventureWorks2008R2Replica]

-- Execute at the Subscriber to reinitialize the pull subscription. 
-- Pending changes at the Subscrber are lost.
EXEC sp_reinitmergepullsubscription 
    @publisher = $(PubServer),
    @publisher_db = @publicationDB,
    @publication = @publication,
    @upload_first = N'false';
GO

-- Start the Merge Agent.

-- This script uses sqlcmd scripting variables. They are in the form
-- $(MyVariable). For information about how to use scripting variables  
-- on the command line and in SQL Server Management Studio, see the 
-- "Executing Replication Scripts" section in the topic
-- "Programming Replication Using System Stored Procedures".

DECLARE @publicationDB AS sysname;
DECLARE @publication AS sysname;
SET @publicationDB = N'AdventureWorks2008R2';
SET @publication = N'AdvWorksSalesOrdersMerge';

USE [AdventureWorks2008R2Replica]

-- Execute at the Subscriber to reinitialize the pull subscription, 
-- and upload pending changes at the Subscriber. 
EXEC sp_reinitmergepullsubscription 
    @publisher = $(PubServer),
    @publisher_db = @publicationDB,
    @publication = @publication,
    @upload_first = N'true';
GO

-- Start the Merge Agent.

Berechtigungen

Nur Mitglieder der festen Serverrolle sysadmin oder der festen Datenbankrolle db_owner können sp_reinitmergepullsubscription ausführen.