sp_reinitpullsubscription (Transact-SQL)

適用於:SQL ServerAzure SQL 受控執行個體

標示交易式提取或匿名訂閱,以便下次執行 散發代理程式 時重新初始化。 這個預存程式會在提取訂閱資料庫的訂閱者端執行。

Transact-SQL 語法慣例

語法

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

引數

[ @publisher = ] 'publisher' 這是發行者的名稱。 publishersysname,沒有預設值。

[ @publisher_db = ] 'publisher_db' 這是發行者資料庫的名稱。 publisher_db為 sysname,沒有預設值。

[ @publication = ] 'publication' 這是發行集的名稱。 publicationsysname,預設值為all,這會標示所有訂閱以進行重新初始化。

傳回碼值

0 (成功) 或 1 (失敗)

備註

事務複製會使用sp_reinitpullsubscription

對等事務複製不支援sp_reinitpullsubscription

您可以從訂閱者呼叫sp_reinitpullsubscription,以在下次執行 散發代理程式 期間重新初始化訂閱。

無法從訂閱者重新初始化以 false 值建立之發行集的訂閱@immediate_sync

您可以在訂閱者端執行sp_reinitpullsubscription,或在發行者端執行sp_reinitsubscription,以重新初始化提取訂閱。

範例

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

權限

只有系統管理員固定伺服器角色或db_owner固定資料庫角色的成員才能執行sp_reinitpullsubscription

另請參閱

重新初始化訂閱
重新初始化訂閱
系統預存程序 (Transact-SQL)