sp_reinitpullsubscription (Transact-SQL)
Diese Prozedur markiert ein Transaktionspullabonnement oder ein anonymes Abonnement für die Neuinitialisierung bei der nächsten Ausführung des Verteilungs-Agents. Diese gespeicherte Prozedur wird auf dem Abonnenten für die Pullabonnementdatenbank ausgeführt.
Syntax
sp_reinitpullsubscription [ @publisher = ] 'publisher'
, [ @publisher_db = ] 'publisher_db'
, [ @publication = ] 'publication'
Argumente
[ @publisher=] 'publisher'
Der Name des Verlegers. publisher ist vom Datentyp sysname und hat keinen Standardwert.[ @publisher_db=] 'publisher_db'
Der Name der Verlegerdatenbank. publisher_db ist vom Datentyp sysname und hat keinen Standardwert.[ @publication=] 'publication'
Der Name der Veröffentlichung. publication ist vom Datentyp sysname, der Standardwert ist all, womit alle Abonnements für die erneute Initialisierung gekennzeichnet werden.
Rückgabecodewerte
0 (Erfolg) oder 1 (Fehler)
Hinweise
sp_reinitpullsubscription wird für die Transaktionsreplikation verwendet.
sp_reinitpullsubscription wird für die Peer-to-Peer-Transaktionsreplikation nicht unterstützt.
sp_reinitpullsubscription kann vom Abonnenten aufgerufen werden, um das Abonnement bei der nächsten Ausführung des Verteilungs-Agents neu zu initialisieren.
Abonnements von Veröffentlichungen, die mit dem Wert false für @immediate_sync erstellt werden, können nicht vom Abonnenten neu initialisiert werden.
Ein Pullabonnement kann neu initialisiert werden, indem Sie sp_reinitpullsubscription auf dem Abonnenten oder sp_reinitsubscription auf dem Verleger ausführen.
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'AdventureWorks';
SET @publication = N'AdvWorksProductTran';
USE [AdventureWorksReplica]
-- Execute at the Subscriber to reinitialize the pull subscription.
EXEC sp_reinitpullsubscription
@publisher = $(PubServer),
@publisher_db = @publicationDB,
@publication = @publication;
GO
-- Start the Distribution Agent.
Berechtigungen
Nur Mitglieder der festen Serverrolle sysadmin oder der festen Datenbankrolle db_owner können sp_reinitpullsubscription ausführen.