sp_reinitmergesubscription (Transact-SQL)sp_reinitmergesubscription (Transact-SQL)

S’APPLIQUE À : ouiSQL Server nonAzure SQL Database nonAzure SQL Data Warehouse nonParallel Data Warehouse APPLIES TO: yesSQL Server noAzure SQL Database noAzure SQL Data Warehouse noParallel Data Warehouse

Signale un abonnement de fusion en vue de sa réinitialisation lors de la prochaine exécution de l’Agent de fusion.Marks a merge subscription for reinitialization the next time the Merge Agent runs. Cette procédure stockée est exécutée dans la base de données de publication du serveur de publication.This stored procedure is executed at the Publisher in the publication database.

Icône de lien de rubrique Conventions de la syntaxe Transact-SQLTopic link icon Transact-SQL Syntax Conventions

SyntaxeSyntax

  
sp_reinitmergesubscription [ [ @publication = ] 'publication'  
    [ , [ @subscriber = ] 'subscriber'  
    [ , [ @subscriber_db = ] 'subscriber_db'  
    [ , [ @upload_first = ] 'upload_first'  

ArgumentsArguments

[ @publication = ] 'publication' Est le nom de la publication.[ @publication = ] 'publication' Is the name of the publication. publication est sysname, avec une valeur par défaut tous les.publication is sysname, with a default of all.

[ @subscriber = ] 'subscriber' Est le nom de l’abonné.[ @subscriber = ] 'subscriber' Is the name of the Subscriber. abonné est sysname, avec une valeur par défaut tous les.subscriber is sysname, with a default of all.

[ @subscriber_db = ] 'subscriber_db' Est le nom de la base de données de l’abonné.[ @subscriber_db = ] 'subscriber_db' Is the name of the Subscriber database. bd_abonné est sysname, avec une valeur par défaut tous les.subscriber_db is sysname, with a default of all.

[ @upload_first = ] 'upload_first' Est que les modifications sur l’abonné sont téléchargées avant la réinitialisation de l’abonnement.[ @upload_first = ] 'upload_first' Is whether changes at the Subscriber are uploaded before the subscription is reinitialized. upload_first est nvarchar (5) , avec FALSE comme valeur par défaut.upload_first is nvarchar(5), with a default of FALSE. Si true, les modifications sont téléchargées avant la réinitialisation de l’abonnement.If true, changes are uploaded before the subscription is reinitialized. Si false, modifications ne sont pas téléchargées.If false, changes are not uploaded.

Valeurs des codes de retourReturn Code Values

0 (réussite) ou 1 (échec)0 (success) or 1 (failure)

NotesRemarks

sp_reinitmergesubscription est utilisé dans la réplication de fusion.sp_reinitmergesubscription is used in merge replication.

sp_reinitmergesubscription peut être appelé depuis le serveur de publication pour réinitialiser les abonnements de fusion.sp_reinitmergesubscription can be called from the Publisher to reinitialize merge subscriptions. Il est recommandé de réexécuter également l'Agent d'instantané.We recommend re-running the Snapshot Agent as well.

Si vous ajoutez, supprimez ou modifiez un filtre paramétré, les modifications en attente chez l'abonné ne peuvent pas être chargées sur le serveur de publication pendant la réinitialisation.If you add, drop, or change a parameterized filter, pending changes at the Subscriber cannot be uploaded to the Publisher during reinitialization. Si vous voulez télécharger les modifications en attente, synchronisez tous les abonnements avant de modifier le filtre.If you want to upload pending changes, synchronize all subscriptions before changing the filter.

ExempleExample

-- 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'AdventureWorks2012Replica';
SET @publication = N'AdvWorksSalesOrdersMerge';

USE [AdventureWorks2012Replica]

-- 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.

ExempleExample

-- 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'AdventureWorks2012Replica';
SET @publication = N'AdvWorksSalesOrdersMerge';

USE [AdventureWorks2012Replica]

-- 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.

AutorisationsPermissions

Seuls les membres de la sysadmin rôle serveur fixe ou le db_owner rôle de base de données fixe peuvent exécuter sp_reinitmergesubscription.Only members of the sysadmin fixed server role or the db_owner fixed database role can execute sp_reinitmergesubscription.

Voir aussiSee Also

Réinitialiser des abonnements Reinitialize Subscriptions
Procédures stockées système (Transact-SQL)System Stored Procedures (Transact-SQL)