Freigeben über


sp_reinitpullsubscription (Transact-SQL)

Gilt für: SQL Server Azure 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 = ] N'publisher'
    [ , [ @publisher_db = ] N'publisher_db' ]
    [ , [ @publication = ] N'publication' ]
[ ; ]

Argumente

[ @publisher = ] N'publisher'

Der Name des Herausgebers. @publisher ist "sysname" ohne Standard.

[ @publisher_db = ] N'publisher_db'

Der Name der Verlegerdatenbank. @publisher_db ist "sysname" mit der Standardeinstellung "NULL.

[ @publication = ] N'Publikation'

Der Name der Veröffentlichung. @publication ist "sysname" mit dem Standardwert all", der alle Abonnements für die Erneute Initialisierung kennzeichnet.

Rückgabecodewerte

0 (erfolgreich) 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_reinitpullsubscriptionkann 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 vom Abonnenten nicht erneut initialisiert werden.

Sie können ein Pullabonnement erneut initialisieren, indem Sie entweder am Abonnenten oder sp_reinitsubscription im Publisher ausgeführt sp_reinitpullsubscription werden.

Beispiele

-- 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 ausgeführt werden sp_reinitpullsubscription.