sp_reinitpullsubscription (Transact-SQL)
適用於:SQL ServerAzure SQL 受控執行個體
標示交易式提取或匿名訂閱,以便下次執行 散發代理程式 時重新初始化。 這個預存程式會在提取訂閱資料庫的訂閱者端執行。
語法
sp_reinitpullsubscription [ @publisher = ] 'publisher'
, [ @publisher_db = ] 'publisher_db'
, [ @publication = ] 'publication'
引數
[ @publisher = ] 'publisher'
這是發行者的名稱。 publisher 是 sysname,沒有預設值。
[ @publisher_db = ] 'publisher_db'
這是發行者資料庫的名稱。 publisher_db為 sysname,沒有預設值。
[ @publication = ] 'publication'
這是發行集的名稱。 publication 是 sysname,預設值為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。
另請參閱
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應