Udostępnij za pośrednictwem


sp_reinitpullsubscription (Transact-SQL)

Marks a transactional pull or anonymous subscription for reinitialization the next time the Distribution Agent runs. This stored procedure is executed at the Subscriber on the pull subscription database.

Ikona łącza do tematu Transact-SQL Syntax Conventions

Składnia

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

Arguments

  • [ @publisher=] 'publisher'
    Is the name of the Publisher. publisher is sysname, with no default.

  • [ @publisher_db=] 'publisher_db'
    Is the name of the Publisher database. publisher_db is sysname, with no default.

  • [ @publication=] 'publication'
    Is the name of the publication. publication is sysname, with a default of all, which marks all subscriptions for reinitialization.

Return Code Values

0 (success) or 1 (failure)

Uwagi

sp_reinitpullsubscription is used in transactional replication.

sp_reinitpullsubscription is not supported for peer-to-peer transactional replication.

sp_reinitpullsubscription can be called from the Subscriber to reinitialize the subscription, during the next run of the Distribution Agent.

Subscriptions to publications created with a value of false for @immediate_sync cannot be reinitialized from the Subscriber.

You can reinitialize a pull subscription by either executing sp_reinitpullsubscription at the Subscriber or sp_reinitsubscription at the Publisher.

Przykład

-- 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'AdventureWorks2012';
SET @publication = N'AdvWorksProductTran';

USE [AdventureWorks2012Replica]

-- Execute at the Subscriber to reinitialize the pull subscription. 
EXEC sp_reinitpullsubscription 
    @publisher = $(PubServer),
    @publisher_db = @publicationDB,
    @publication = @publication;
GO

-- Start the Distribution Agent.

Permissions

Only members of the sysadmin fixed server role or the db_owner fixed database role can execute sp_reinitpullsubscription.

Zobacz także

Odwołanie

System Stored Procedures (Transact-SQL)

Koncepcje

Reinitialize a Subscription

Reinitialize Subscriptions