分享方式:


sp_reinitpullsubscription (Transact-SQL)

適用於:SQL Server Azure SQL 受控執行個體

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

Transact-SQL 語法慣例

語法

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

引數

[ @publisher = ] N'publisher'

發行者的名稱。 @publisher為 sysname,沒有預設值。

[ @publisher_db = ] N'publisher_db'

發行者資料庫的名稱。 @publisher_db為 sysname,預設值為 NULL

[ @publication = ] N'publication'

發行集的名稱。 @publication為 sysname,預設值all為 ,其會標示所有訂用帳戶以進行重新初始化。

傳回碼值

0 (成功) 或 1 (失敗)。

備註

sp_reinitpullsubscription 用於事務複製。

sp_reinitpullsubscription 對等事務複製不支援。

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

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

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

範例

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