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 = ] '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)