Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op:SQL Server
Markeert een merge-abonnement voor herinitialisatie de volgende keer dat de Merge Agent wordt uitgevoerd. Deze opgeslagen procedure wordt uitgevoerd bij de Publisher in de publicatiedatabase.
Transact-SQL syntaxis-conventies
Syntax
sys.sp_reinitmergesubscription
[ [ @publication = ] N'publication' ]
[ , [ @subscriber = ] N'subscriber' ]
[ , [ @subscriber_db = ] N'subscriber_db' ]
[ , [ @upload_first = ] N'upload_first' ]
[ ; ]
Arguments
[ @publication = ] N'publicatie'
De naam van de publicatie.
@publication is sysname, met een standaardwaarde van all.
[ @subscriber = ] N'abonnee'
De naam van de abonnee.
@subscriber is sysname, met als standaard .all
[ @subscriber_db = ] N'subscriber_db'
De naam van de abonneedatabase.
@subscriber_db is systeemnaam, met als standaard .all
[ @upload_first = ] N'upload_first'
Geeft aan of wijzigingen bij de abonnee worden geüpload voordat het abonnement opnieuw wordt geïntitimiliseerd.
@upload_first is nvarchar(5), met een standaard van false.
- Als
true, worden wijzigingen geüpload voordat het abonnement opnieuw wordt geïninitialiseerd. - Als
false, worden wijzigingen niet geüpload.
Codewaarden retourneren
0 (geslaagd) of 1 (mislukt).
Opmerkingen
sp_reinitmergesubscription wordt gebruikt bij merge-replicatie.
sp_reinitmergesubscriptionkan vanuit de Publisher worden aangeroepen om merge-abonnementen opnieuw te initialiseren. Je zou ook de Snapshot Agent opnieuw moeten uitvoeren.
Als je een geparametriseerd filter toevoegt, verwijdert of verandert, kunnen in afwachting van wijzigingen bij de abonnee niet worden geüpload naar de Publisher tijdens de herinitialisatie. Als u wachtende wijzigingen wilt uploaden, synchroniseert u alle abonnementen voordat u het filter wijzigt.
Examples
Eén. Begin het push-abonnement opnieuw en verlies in staat staande wijzigingen
-- 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 @subscriptionDB AS sysname;
DECLARE @publication AS sysname;
SET @subscriptionDB = N'AdventureWorks2022Replica';
SET @publication = N'AdvWorksSalesOrdersMerge';
USE [AdventureWorks2022Replica]
-- Execute at the Publisher to reinitialize the push subscription.
-- Pending changes at the Subscrber are lost.
EXEC sp_reinitmergesubscription
@subscriber = $(SubServer),
@subscriber_db = @subscriptionDB,
@publication = @publication,
@upload_first = N'false';
GO
-- Start the Merge Agent.
B. Initialiseer het pushabonnement opnieuw en upload wachtende wijzigingen
-- 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 @subscriptionDB AS sysname;
DECLARE @publication AS sysname;
SET @subscriptionDB = N'AdventureWorks2022Replica';
SET @publication = N'AdvWorksSalesOrdersMerge';
USE [AdventureWorks2022Replica]
-- Execute at the Publisher to reinitialize the push subscription,
-- and upload pending changes at the Subscriber.
EXEC sp_reinitmergesubscription
@subscriber = $(SubServer),
@subscriber_db = @subscriptionDB,
@publication = @publication,
@upload_first = N'true';
GO
-- Start the Merge Agent.
Permissions
Alleen leden van de sysadmin-vaste serverrol of de db_owner vaste databaserol kunnen uitvoeren sp_reinitmergesubscription.