Freigeben über


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.

Themenlink (Symbol)Transact-SQL-Syntaxkonventionen

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.