Partilhar via


sp_reinitpullsubscription (Transact-SQL)

Marca uma assinatura pull transacional ou anônima para reinicialização da próxima vez que o Distribution Agent for executado. Esse procedimento armazenado é executado no Assinante, no banco de dados de assinatura pull.

Ícone de vínculo de tópicoConvenções de sintaxe Transact-SQL

Sintaxe

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

Argumentos

  • [ @publisher=] 'publisher'
    É o nome do Publicador. publisher é sysname, sem padrão.

  • [ @publisher_db=] 'publisher_db'
    É o nome do banco de dados Publicador. publisher_db é sysname, sem padrão.

  • [ @publication=] 'publication'
    É o nome da publicação. publication é sysname, com um padrão all, o que marca todas as assinaturas para reinicialização.

Valores de código de retorno

0 (êxito) ou 1 (falha)

Comentários

sp_reinitpullsubscription é usado em replicação transacional.

sp_reinitpullsubscription não tem suporte para replicação transacional ponto a ponto.

sp_reinitpullsubscription pode ser chamado do Assinante para reinicializar a assinatura, durante a próxima execução do Distribution Agent.

Assinaturas para publicações criadas com o valor false para @immediate_sync não podem ser reiniciadas no Assinante.

Você pode reiniciar uma assinatura pull executando sp_reinitpullsubscription no Assinante ou sp_reinitsubscription no Publicador.

Exemplo

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

USE [AdventureWorksReplica]

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

-- Start the Distribution Agent.

Permissões

Somente membros da função de servidor fixa sysadmin ou da função de banco de dados fixa db_owner podem executar sp_reinitpullsubscription.