sp_addmergepushsubscription_agent (Transact-SQL)sp_addmergepushsubscription_agent (Transact-SQL)

S’APPLIQUE À : ouiSQL Server ouiAzure SQL Database (Managed Instance uniquement) nonAzure SQL Data Warehouse nonParallel Data Warehouse APPLIES TO: yesSQL Server yesAzure SQL Database (Managed Instance only) noAzure SQL Data Warehouse noParallel Data Warehouse

Ajoute un nouveau travail d'Agent permettant de planifier la synchronisation d'un abonnement par envoi de données (push) à une publication de fusion.Adds a new agent job used to schedule synchronization of a push subscription to a merge publication. Cette procédure stockée est exécutée sur le serveur de publication dans la base de données de publication.This stored procedure is executed at the Publisher on the publication database.

Important

Lors de la configuration d'un serveur de publication avec un serveur de distribution distant, les valeurs fournies pour tous les paramètres, y compris job_login et job_password, sont envoyées en texte brut au serveur de distribution.When configuring a Publisher with a remote Distributor, the values supplied for all parameters, including job_login and job_password, are sent to the Distributor as plain text. Vous devez chiffrer la connexion entre le serveur de publication et son serveur de distribution distant avant d'exécuter cette procédure stockée.You should encrypt the connection between the Publisher and its remote Distributor before executing this stored procedure. Pour plus d’informations, consultez Activer des connexions chiffrées dans le moteur de base de données (Gestionnaire de configuration SQL Server).For more information, see Enable Encrypted Connections to the Database Engine (SQL Server Configuration Manager).

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

SyntaxeSyntax

  
sp_addmergepushsubscription_agent [ @publication =] 'publication'   
    [ , [ @subscriber = ] 'subscriber' ]   
    [ , [ @subscriber_db = ] 'subscriber_db' ]   
    [ , [ @subscriber_security_mode = ] subscriber_security_mode ]   
    [ , [ @subscriber_login = ] 'subscriber_login' ]   
    [ , [ @subscriber_password = ] 'subscriber_password' ]   
    [ , [ @publisher_security_mode = ] publisher_security_mode ]   
    [ , [ @publisher_login = ] 'publisher_login' ]   
    [ , [ @publisher_password = ] 'publisher_password' ]   
    [ , [ @job_login = ] 'job_login' ]   
    [ , [ @job_password = ] 'job_password' ]   
    [ , [ @job_name = ] 'job_name' ]   
    [ , [ @frequency_type = ] frequency_type ]   
    [ , [ @frequency_interval = ] frequency_interval ]   
    [ , [ @frequency_relative_interval = ] frequency_relative_interval ]   
    [ , [ @frequency_recurrence_factor = ] frequency_recurrence_factor ]   
    [ , [ @frequency_subday = ] frequency_subday ]   
    [ , [ @frequency_subday_interval = ] frequency_subday_interval ]   
    [ , [ @active_start_time_of_day = ] active_start_time_of_day ]   
    [ , [ @active_end_time_of_day = ] active_end_time_of_day ]   
    [ , [ @active_start_date = ] active_start_date ]   
    [ , [ @active_end_date = ] active_end_date ]   
    [ , [ @enabled_for_syncmgr = ] 'enabled_for_syncmgr' ]   

ArgumentsArguments

[ @publication = ] 'publication'Nom de la publication.[ @publication = ] 'publication' Is the name of the publication. publication est de type sysname, sans valeur par défaut.publication is sysname, with no default.

[ @subscriber = ] 'subscriber'Nom de l’abonné.[ @subscriber = ] 'subscriber' Is the name of the Subscriber. Subscriber est de type sysname, avec NULL comme valeur par défaut.subscriber is sysname, with a default of NULL.

[ @subscriber_db = ] 'subscriber_db'Nom de la base de données d’abonnement.[ @subscriber_db = ] 'subscriber_db' Is the name of the subscription database. subscriber_db est de type sysname, avec NULL comme valeur par défaut.subscriber_db is sysname, with a default of NULL.

[ @subscriber_security_mode = ] subscriber_security_modeMode de sécurité à utiliser lors de la connexion à un abonné au cours d’une synchronisation.[ @subscriber_security_mode = ] subscriber_security_mode Is the security mode to use when connecting to a Subscriber when synchronizing. subscriber_security_mode est de type int, avec 1 comme valeur par défaut.subscriber_security_mode is int, with a default of 1. Si la valeur est SQL ServerSQL Server 0, spécifie l’authentification.If 0, specifies SQL ServerSQL Server Authentication. Si 1, spécifie l’authentification Windows.If 1, specifies Windows Authentication.

[ @subscriber_login = ] 'subscriber_login'Connexion de l’abonné à utiliser lors de la connexion à un abonné au cours d’une synchronisation.[ @subscriber_login = ] 'subscriber_login' Is the Subscriber login to use when connecting to a Subscriber when synchronizing. subscriber_login est obligatoire si subscriber_security_mode est défini sur 0.subscriber_login is required if subscriber_security_mode is set to 0. subscriber_login est de type sysname, avec NULL comme valeur par défaut.subscriber_login is sysname, with a default of NULL.

[ @subscriber_password = ] 'subscriber_password'Mot de passe de l' SQL ServerSQL Server abonné pour l’authentification.[ @subscriber_password = ] 'subscriber_password' Is the Subscriber password for SQL ServerSQL Server Authentication. subscriber_password est obligatoire si subscriber_security_mode est défini sur 0.subscriber_password is required if subscriber_security_mode is set to 0. subscriber_password est de type sysname, avec NULL comme valeur par défaut.subscriber_password is sysname, with a default of NULL. Si un mot de passe d'abonné est utilisé, il est automatiquement chiffré.If a subscriber password is used, it is automatically encrypted.

Important

Lorsque c'est possible, demande aux utilisateurs de fournir les informations d'identification au moment de l'exécution.When possible, prompt users to enter security credentials at runtime. Si vous devez enregistrer les informations d'identification dans un fichier de script, vous devez sécuriser le fichier pour empêcher un accès non autorisé.If you must store credentials in a script file, you must secure the file to prevent unauthorized access.

[ @publisher_security_mode = ] publisher_security_modeMode de sécurité à utiliser lors de la connexion à un serveur de publication lors de la synchronisation.[ @publisher_security_mode = ] publisher_security_mode Is the security mode to use when connecting to a Publisher when synchronizing. publisher_security_mode est de type int, avec 1 comme valeur par défaut.publisher_security_mode is int, with a default of 1. Si la valeur est SQL ServerSQL Server 0, spécifie l’authentification.If 0, specifies SQL ServerSQL Server Authentication. Si 1, spécifie l’authentification Windows.If 1, specifies Windows Authentication.

[ @publisher_login = ] 'publisher_login'Nom de connexion à utiliser lors de la connexion à un serveur de publication lors de la synchronisation.[ @publisher_login = ] 'publisher_login' Is the login to use when connecting to a Publisher when synchronizing. publisher_login est de type sysname, avec NULL comme valeur par défaut.publisher_login is sysname, with a default of NULL.

[ @publisher_password = ] 'publisher_password'Mot de passe utilisé lors de la connexion au serveur de publication.[ @publisher_password = ] 'publisher_password' Is the password used when connecting to the Publisher. publisher_password est de type sysname, avec NULL comme valeur par défaut.publisher_password is sysname, with a default of NULL.

Important

Lorsque c'est possible, demande aux utilisateurs de fournir les informations d'identification au moment de l'exécution.When possible, prompt users to enter security credentials at runtime. Si vous devez enregistrer les informations d'identification dans un fichier de script, vous devez sécuriser le fichier pour empêcher un accès non autorisé.If you must store credentials in a script file, you must secure the file to prevent unauthorized access.

[ @job_login = ] 'job_login'Nom de connexion du compte Windows sous lequel l’agent s’exécute.[ @job_login = ] 'job_login' Is the login for the Windows account under which the agent runs. job_login est de type nvarchar (257) , avec NULL comme valeur par défaut.job_login is nvarchar(257), with a default value of NULL. Ce compte Windows est toujours utilisé pour les connexions d'Agent au serveur de distribution et pour les connexions à l'Abonné et au serveur de publication lors de l'utilisation de l'authentification intégrée de Windows.This Windows account is always used for agent connections to the Distributor and for connections to the Subscriber and Publisher when using Windows Integrated authentication.

[ @job_password = ] 'job_password'Mot de passe du compte Windows sous lequel l’agent s’exécute.[ @job_password = ] 'job_password' Is the password for the Windows account under which the agent runs. job_password est de type sysname, sans valeur par défaut.job_password is sysname, with no default.

Important

Lorsque c'est possible, demande aux utilisateurs de fournir les informations d'identification au moment de l'exécution.When possible, prompt users to enter security credentials at runtime. Si vous devez enregistrer les informations d'identification dans un fichier de script, vous devez sécuriser le fichier pour empêcher un accès non autorisé.If you must store credentials in a script file, you must secure the file to prevent unauthorized access.

[ @job_name = ] 'job_name'Nom d’un travail d’agent existant.[ @job_name = ] 'job_name' Is the name of an existing agent job. nom_du_travail est de type sysname, avec NULL comme valeur par défaut.job_name is sysname, with a default value of NULL. Ce paramètre est uniquement spécifié lorsque l'abonnement est synchronisé à l'aide d'un travail existant au lieu d'un travail nouvellement créé (option par défaut).This parameter is only specified when the subscription is synchronized using an existing job instead of a newly created job (the default). Si vous n’êtes pas membre du rôle serveur fixe sysadmin , vous devez spécifier job_login et job_password lorsque vous spécifiez nom_du_travail.If you are not a member of the sysadmin fixed server role, you must specify job_login and job_password when you specify job_name.

[ @frequency_type = ] frequency_typeFréquence de planification de l’Agent de fusion.[ @frequency_type = ] frequency_type Is the frequency with which to schedule the Merge Agent. frequency_type est de type intet peut prendre l’une des valeurs suivantes.frequency_type is int, and can be one of the following values.

ValueValue DescriptionDescription
11 Une foisOne time
22 À la demandeOn demand
44 Tous les joursDaily
88 SemaineWeekly
1616 MoisMonthly
3232 Mensuelle relativeMonthly relative
6464 Démarrage automatiqueAutostart
128128 PériodiqueRecurring
NULL (par défaut)NULL (default)

Notes

Si vous spécifiez la valeur 64 , le agent de fusion s’exécute en mode continu.Specifying a value of 64 causes the Merge Agent to run in continuous mode. Cela correspond à la définition du paramètre -Continuous pour l’agent.This corresponds to setting the -Continuous parameter for the agent. Pour plus d’informations, voir Replication Merge Agent.For more information, see Replication Merge Agent.

[ @frequency_interval = ] frequency_intervalJours d’exécution de la Agent de fusion.[ @frequency_interval = ] frequency_interval The days that the Merge Agent runs. frequency_interval est de type intet peut prendre l’une des valeurs suivantes.frequency_interval is int, and can be one of the following values.

ValueValue DescriptionDescription
11 DimancheSunday
22 LundiMonday
33 MardiTuesday
44 MercrediWednesday
55 JeudiThursday
66 VendrediFriday
77 SamediSaturday
88 JourDay
99 Jours de la semaineWeekdays
1010 Jours de week-endWeekend days
NULL (par défaut)NULL (default)

[ @frequency_relative_interval = ] frequency_relative_intervalDate de la Agent de fusion.[ @frequency_relative_interval = ] frequency_relative_interval Is the date of the Merge Agent. Ce paramètre est utilisé lorsque frequency_type a la valeur 32 (mensuelle relative).This parameter is used when frequency_type is set to 32 (monthly relative). frequency_relative_interval est de type intet peut prendre l’une des valeurs suivantes.frequency_relative_interval is int, and can be one of the following values.

ValueValue DescriptionDescription
11 PremièreFirst
22 SecondeSecond
44 TroisièmeThird
88 QuatrièmeFourth
1616 DernièreLast
NULL (par défaut)NULL (default)

[ @frequency_recurrence_factor = ] frequency_recurrence_factorFacteur de récurrence utilisé par frequency_type.[ @frequency_recurrence_factor = ] frequency_recurrence_factor Is the recurrence factor used by frequency_type. frequency_recurrence_factor est de type int, avec NULL comme valeur par défaut.frequency_recurrence_factor is int, with a default of NULL.

[ @frequency_subday = ] frequency_subdayFréquence de replanification au cours de la période définie.[ @frequency_subday = ] frequency_subday Is how often to reschedule during the defined period. frequency_subday est de type intet peut prendre l’une des valeurs suivantes.frequency_subday is int, and can be one of the following values.

ValueValue DescriptionDescription
11 Une foisOnce
22 SecondeSecond
44 MinuteMinute
88 HeureHour
NULL (par défaut)NULL (default)

[ @frequency_subday_interval = ] frequency_subday_intervalIntervalle de frequency_subday.[ @frequency_subday_interval = ] frequency_subday_interval Is the interval for frequency_subday. frequency_subday_interval est de type int, avec NULL comme valeur par défaut.frequency_subday_interval is int, with a default of NULL.

[ @active_start_time_of_day = ] active_start_time_of_dayHeure de la journée à laquelle le Agent de fusion est planifié pour la première fois, au format HHMMSS.[ @active_start_time_of_day = ] active_start_time_of_day Is the time of day when the Merge Agent is first scheduled, formatted as HHMMSS. active_start_time_of_day est de type int, avec NULL comme valeur par défaut.active_start_time_of_day is int, with a default of NULL.

[ @active_end_time_of_day = ] active_end_time_of_dayHeure de la journée à laquelle le Agent de fusion cesse d’être planifié, au format HHMMSS.[ @active_end_time_of_day = ] active_end_time_of_day Is the time of day when the Merge Agent stops being scheduled, formatted as HHMMSS. active_end_time_of_day est de type int, avec NULL comme valeur par défaut.active_end_time_of_day is int, with a default of NULL.

[ @active_start_date = ] active_start_dateDate à laquelle le Agent de fusion est planifié pour la première fois, au format AAAAMMJJ.[ @active_start_date = ] active_start_date Is the date when the Merge Agent is first scheduled, formatted as YYYYMMDD. active_start_date est de type int, avec NULL comme valeur par défaut.active_start_date is int, with a default of NULL.

[ @active_end_date = ] active_end_dateDate à laquelle le Agent de fusion cesse d’être planifié, au format AAAAMMJJ.[ @active_end_date = ] active_end_date Is the date when the Merge Agent stops being scheduled, formatted as YYYYMMDD. active_end_date est de type int, avec NULL comme valeur par défaut.active_end_date is int, with a default of NULL.

[ @enabled_for_syncmgr = ] 'enabled_for_syncmgr'Spécifie si l’abonnement peut être synchronisé via le gestionnaire de synchronisation Windows.[ @enabled_for_syncmgr = ] 'enabled_for_syncmgr' Specifies if the subscription can be synchronized through Windows Synchronization Manager. enabled_for_syncmgr est de type nvarchar (5) , avec false comme valeur par défaut.enabled_for_syncmgr is nvarchar(5), with a default of FALSE. Si la valeurest false, l’abonnement n’est pas inscrit auprès du gestionnaire de synchronisation.If false, the subscription is not registered with Synchronization Manager. Si la valeur est true, l’abonnement est inscrit auprès du gestionnaire de synchronisation et peut SQL Server Management StudioSQL Server Management Studioêtre synchronisé sans démarrage.If true, the subscription is registered with Synchronization Manager and can be synchronized without starting SQL Server Management StudioSQL Server Management Studio.

Valeurs des codes de retourReturn Code Values

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

NotesRemarks

sp_addmergepushsubscription_agent est utilisé dans la réplication de fusion et utilise des fonctionnalités similaires à sp_addpushsubscription_agent.sp_addmergepushsubscription_agent is used in merge replication and uses functionality similar to sp_addpushsubscription_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 @publication AS sysname;
DECLARE @subscriber AS sysname;
DECLARE @subscriptionDB AS sysname;
DECLARE @hostname AS sysname;
SET @publication = N'AdvWorksSalesOrdersMerge';
SET @subscriber = $(SubServer);
SET @subscriptionDB = N'AdventureWorksReplica'; 
SET @hostname = N'adventure-works\david8'

-- Add a push subscription to a merge publication.
USE [AdventureWorks2012];
EXEC sp_addmergesubscription 
  @publication = @publication, 
  @subscriber = @subscriber, 
  @subscriber_db = @subscriptionDB, 
  @subscription_type = N'push',
  @hostname = @hostname;

--Add an agent job to synchronize the push subscription.
EXEC sp_addmergepushsubscription_agent 
  @publication = @publication, 
  @subscriber = @subscriber, 
  @subscriber_db = @subscriptionDB, 
  @job_login = $(Login), 
  @job_password = $(Password);
GO

AutorisationsPermissions

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

Voir aussiSee Also

Create a Push Subscription Create a Push Subscription
S’abonner aux Publications Subscribe to Publications
sp_addmergesubscription (Transact-SQL) sp_addmergesubscription (Transact-SQL)
sp_changemergesubscription (Transact-SQL) sp_changemergesubscription (Transact-SQL)
sp_dropmergesubscription (Transact-SQL) sp_dropmergesubscription (Transact-SQL)
sp_helpmergesubscription (Transact-SQL)sp_helpmergesubscription (Transact-SQL)