Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Gäller för:SQL Server
Markerar en merge pull-prenumeration för ominitialisering nästa gång Merge Agent körs. Denna lagrade procedur utförs hos prenumeranten i prenumerationsdatabasen.
Transact-SQL syntaxkonventioner
Syntax
sys.sp_reinitmergepullsubscription
[ [ @publisher = ] N'publisher' ]
[ , [ @publisher_db = ] N'publisher_db' ]
[ , [ @publication = ] N'publication' ]
[ , [ @upload_first = ] N'upload_first' ]
[ ; ]
Arguments
[ @publisher = ] N'publisher'
Namnet på utgivaren.
@publisher är sysname, med standardvärdet all.
[ @publisher_db = ] N'publisher_db'
Namnet på Publisher-databasen.
@publisher_db är sysname med standardvärdet all.
[ @publication = ] N'publicering'
Namnet på publikationen.
@publication är sysname, med standardvärdet all.
[ @upload_first = ] N'upload_first'
Specificerar om ändringar hos prenumeranten laddas upp innan prenumerationen återinitialiseras.
@upload_first är nvarchar(5), med en standard på false.
- Om
true, laddas ändringar upp innan prenumerationen återinitieras. - Om
false, laddas inte ändringar upp.
Returnera kodvärden
0 (lyckades) eller 1 (fel).
Remarks
sp_reinitmergepullsubscription används vid sammanslagningsreplikation.
Om du lägger till, tar bort eller ändrar ett parameteriserat filter kan väntande ändringar hos Subscriber inte laddas upp till Publisher under ominitialiseringen. Om du vill ladda upp väntande ändringar synkroniserar du alla prenumerationer innan du ändrar filtret.
Examples
A. Starta om pull-prenumerationen och förlora väntande ändringar
-- 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'AdvWorksSalesOrdersMerge';
USE [AdventureWorks2022Replica]
-- Execute at the Subscriber to reinitialize the pull subscription.
-- Pending changes at the Subscrber are lost.
EXEC sp_reinitmergepullsubscription
@publisher = $(PubServer),
@publisher_db = @publicationDB,
@publication = @publication,
@upload_first = N'false';
GO
-- Start the Merge Agent.
B. Starta om pull-prenumerationen och ladda upp väntande ändringar
-- 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'AdvWorksSalesOrdersMerge';
USE [AdventureWorks2022Replica]
-- Execute at the Subscriber to reinitialize the pull subscription,
-- and upload pending changes at the Subscriber.
EXEC sp_reinitmergepullsubscription
@publisher = $(PubServer),
@publisher_db = @publicationDB,
@publication = @publication,
@upload_first = N'true';
GO
-- Start the Merge Agent.
Permissions
Endast medlemmar av sysadmin-rollen med fast server eller db_owner fast databasroll kan köra sp_reinitmergepullsubscription.