sp_reinitpullsubscription (Transact-SQL)

Gilt für:SQL ServerAzure SQL Managed Instance

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.

Transact-SQL-Syntaxkonventionen

Syntax

  
sp_reinitpullsubscription [ @publisher = ] 'publisher'  
        , [ @publisher_db = ] 'publisher_db'  
        , [ @publication = ] 'publication'  

Argumente

[ @publisher = ] 'publisher' Ist der Name des Herausgebers. Publisher ist "sysname" ohne Standard.

[ @publisher_db = ] 'publisher_db' Ist der Name der Publisher-Datenbank. publisher_db ist "sysname" ohne Standard.

[ @publication = ] 'publication' Ist der Name der Publikation. Die Publikation ist "sysname" mit einem Standardwert, der alle Abonnements für die Erneute Initialisierung kennzeichnet.

Rückgabecodewerte

0 (Erfolg) oder 1 (Fehler)

Hinweise

sp_reinitpullsubscription wird in der Transaktionsreplikation verwendet.

sp_reinitpullsubscription wird für die Peer-to-Peer-Transaktionsreplikation nicht unterstützt.

sp_reinitpullsubscription können vom Abonnenten aufgerufen werden, um das Abonnement während der nächsten Ausführung des Verteilungs-Agent neu zu initialisieren.

Abonnements für Publikationen, die mit dem Wert "false" für @immediate_sync erstellt wurden, können nicht vom Abonnenten neu initialisiert werden.

Sie können ein Pullabonnement erneut initialisieren, indem Sie entweder sp_reinitpullsubscription beim Abonnenten oder sp_reinitsubscription im Publisher 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'AdventureWorks2022';
SET @publication = N'AdvWorksProductTran';

USE [AdventureWorks2022Replica]

-- 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 die db_owner feste Datenbankrolle können sp_reinitpullsubscription ausgeführt werden.

Weitere Informationen

Erneutes Initialisieren eines Abonnements
Erneutes Initialisieren von Abonnements
Gespeicherte Systemprozeduren (Transact-SQL)