sp_reinitpullsubscription (Transact-SQL)
適用於:SQL Server Azure 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
。