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_reinitpullsubscription
kann 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
.