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.
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. Der Standardwert ist ALL.[ @publisher_db = ] 'publisher_db'
Der Name der Verlegerdatenbank. publisher_db ist vom Datentyp sysname. Der Standardwert ist ALL.[ @publication = ] 'publication'
Der Name der Veröffentlichung. publication ist vom Datentyp sysname. Der Standardwert ist ALL.[ @upload_first = ] 'upload_first'
Gibt an, ob Änderungen auf dem Abonnenten hochgeladen werden, bevor das Abonnement erneut initialisiert wird. upload_first ist vom Datentyp nvarchar (5). Der Standardwert ist 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'AdventureWorks2012';
SET @publication = N'AdvWorksSalesOrdersMerge';
USE [AdventureWorks2012Replica]
-- 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'AdventureWorks2012';
SET @publication = N'AdvWorksSalesOrdersMerge';
USE [AdventureWorks2012Replica]
-- 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.
Siehe auch
Verweis
Gespeicherte Systemprozeduren (Transact-SQL)