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.

Topic link icon Transact-SQL Syntax Conventions

Syntax


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)

Remarks

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.

Example

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

See Also

Reference

System Stored Procedures (Transact-SQL)

Concepts

Reinitialize a Subscription

Reinitialize Subscriptions