sp_reinitpullsubscription (Transact-SQL)

Aplica-se a:SQL ServerInstância Gerenciada de SQL do Azure

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

Convenções de sintaxe de Transact-SQL

Sintaxe

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

Argumentos

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

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

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

Valores do código de retorno

0 (sucesso) ou 1 (fracasso)

Comentários

sp_reinitpullsubscription é usado na replicação transacional.

sp_reinitpullsubscription não há 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 Agente de Distribuição.

As assinaturas de publicações criadas com um valor false para @immediate_sync não podem ser reinicializadas a partir do Assinante.

Você pode reinicializar 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'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.

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.

Confira também

Reinicializar uma assinatura
Reinicializar as assinaturas
Procedimentos armazenados do sistema (Transact-SQL)