sp_reinitpullsubscription (Transact-SQL)
Область применения: SQL Server Управляемый экземпляр SQL Azure
Помечает анонимную или транзакционную подписку по запросу для повторной инициализации при следующем запуске агента распространителя. Эта хранимая процедура выполняется на подписчике в базе данных подписки по запросу.
Соглашения о синтаксисе Transact-SQL
Синтаксис
sp_reinitpullsubscription [ @publisher = ] 'publisher'
, [ @publisher_db = ] 'publisher_db'
, [ @publication = ] 'publication'
Аргументы
[ @publisher = ] 'publisher'
Имя издателя. publisher — sysname, без значения по умолчанию.
[ @publisher_db = ] 'publisher_db'
Имя базы данных издателя. publisher_db — sysname без значения по умолчанию.
[ @publication = ] 'publication'
Имя публикации. публикация — sysname, по умолчанию — это значение по умолчанию, которое помечает все подписки для повторной инициализации.
Значения кода возврата
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.
Разрешения
Только члены предопределенных ролей сервера sysadmin или предопределенных ролей базы данных db_owner могут выполняться sp_reinitpullsubscription.
См. также
Повторная инициализация подписки
Повторная инициализация подписок
Системные хранимые процедуры (Transact-SQL)