Share via


sp_addmergepushsubscription_agent (Transact-SQL)

Ajoute un nouveau travail d'Agent permettant de planifier la synchronisation d'un abonnement par envoi de données (push) à une publication de fusion. Cette procédure stockée est exécutée sur le serveur de publication dans la base de données de publication.

Remarque relative à la sécuritéRemarque relative à la sécurité

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. Vous devriez chiffrer la connexion entre le serveur de publication et son serveur de distribution distant avant d'exécuter cette procédure stockée. Pour plus d'informations, consultez Activer les connexions chiffrées dans le moteur de base de données (Gestionnaire de configuration SQL Server).

Icône Lien de rubrique Conventions de la syntaxe de Transact-SQL

Syntaxe

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' ] 

Arguments

  • [ @publication = ] 'publication'
    Nom de la publication. publication est de type sysname et n'a pas de valeur par défaut.

  • [ @subscriber = ] 'subscriber'
    Nom de l'abonné. subscriber est de type sysname, avec NULL comme valeur par défaut.

  • [ @subscriber_db = ] 'subscriber_db'
    Nom de la base de données d'abonnement. subscriber_db est de type sysname, avec NULL comme valeur par défaut.

  • [ @subscriber_security_mode = ] subscriber_security_mode
    Mode de sécurité à utiliser lors de la connexion à un abonné au cours d'une synchronisation. subscriber_security_mode est de type int, avec 1 comme valeur par défaut. Une valeur de 0 indique le mode d'authentification SQL Server. La valeur 1 spécifie l'authentification Windows.

  • [ @subscriber_login = ] 'subscriber_login'
    Nom de connexion de l'abonné à utiliser lors de la connexion à un abonné au cours d'une synchronisation. subscriber_login est requis si subscriber_security_mode a la valeur 0. subscriber_login est de type sysname, avec NULL comme valeur par défaut.

  • [ @subscriber_password = ] 'subscriber_password'
    Mot de passe de l'Abonné pour l'authentification SQL Server. subscriber_password est requis si subscriber_security_mode a la valeur 0. subscriber_password est de type sysname, avec NULL comme valeur par défaut. Si un mot de passe d'abonné est utilisé, il est automatiquement chiffré.

    Remarque relative à la sécuritéRemarque relative à la sécurité

    Dans la mesure du possible, invitez les utilisateurs à entrer les informations d'identification de sécurité au moment de l'exécution. 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é.

  • [ @publisher_security_mode = ] publisher_security_mode
    Mode de sécurité à utiliser lors de la connexion à un serveur de publication au cours d'une synchronisation. publisher_security_mode est de type int, avec 1 comme valeur par défaut. Une valeur de 0 indique le mode d'authentification SQL Server. La valeur 1 spécifie l'authentification Windows.

  • [ @publisher_login = ] 'publisher_login'
    Nom de connexion à utiliser lors de la connexion à un serveur de publication pendant la synchronisation. publisher_login est de type sysname, avec NULL comme valeur par défaut.

  • [ @publisher_password = ] 'publisher_password'
    Mot de passe utilisé lors de la connexion au serveur de publication. publisher_password est de type sysname, avec NULL comme valeur par défaut.

    Remarque relative à la sécuritéRemarque relative à la sécurité

    Dans la mesure du possible, invitez les utilisateurs à entrer les informations d'identification de sécurité au moment de l'exécution. Si vous avez besoin de stocker des informations d'identification dans un fichier de script, vous devez sécuriser ce dernier de manière à empêcher les accès non autorisés.

  • [ @job_login = ] 'job_login'
    Nom de connexion du compte Windows sous lequel l'Agent s'exécute. job_login est de type nvarchar(257), avec NULL comme valeur par défaut. 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.

  • [ @job_password = ] 'job_password'
    Mot de passe du compte Windows sous lequel l'Agent s'exécute. job_password est de type sysname et n'a pas de valeur par défaut.

    Remarque relative à la sécuritéRemarque relative à la sécurité

    Lorsque cela est possible, invitez les utilisateurs à saisir leurs informations d'identification au moment de l'exécution. Si vous avez besoin de stocker des informations d'identification dans un fichier de script, vous devez sécuriser ce dernier de manière à empêcher les accès non autorisés.

  • [ @job_name = ] 'job_name'
    Nom d'un travail de l'agent existant. job_name est de type sysname, avec NULL comme valeur par défaut. 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). Si vous n'êtes pas membre du rôle serveur fixe sysadmin, vous devez définir les arguments job_login et job_password lorsque vous spécifiez job_name.

  • [ @frequency_type = ] frequency_type
    Fréquence de planification de l'Agent de fusion. frequency_type est de type int et peut prendre l'une des valeurs suivantes.

    Valeur

    Description

    1

    Une fois

    2

    À la demande

    4

    Quotidienne

    8

    Hebdomadaire

    16

    Mensuelle

    32

    Mensuelle relative

    64

    Démarrage automatique

    128

    Périodique

    NULL (par défaut)

     

    [!REMARQUE]

    Si vous spécifiez une valeur de 64, l'Agent de fusion s'exécute en mode continu. Ceci correspond à la définition du paramètre -Continuous de l'Agent. Pour plus d'informations, consultez Agent de fusion de réplication.

  • [ @frequency_interval = ] frequency_interval
    Jours où l'Agent de fusion est exécuté. frequency_interval est de type int et peut prendre l'une des valeurs suivantes.

    Valeur

    Description

    1

    Dimanche

    2

    Lundi

    3

    Mardi

    4

    Mercredi

    5

    Jeudi

    6

    Vendredi

    7

    Samedi

    8

    Jour

    9

    Jours de la semaine

    10

    Jours de week-end

    NULL (par défaut)

     

  • [ @frequency_relative_interval = ] frequency_relative_interval
    Date de l'Agent de fusion. Ce paramètre est utilisé lorsque frequency_type a la valeur 32 (fréquence mensuelle relative). frequency_relative_interval est de type int et peut prendre l'une des valeurs suivantes.

    Valeur

    Description

    1

    Première

    2

    Seconde

    4

    Troisième

    8

    Quatrième

    16

    Dernière

    NULL (par défaut)

     

  • [ @frequency_recurrence_factor = ] frequency_recurrence_factor
    Est le facteur de récurrence utilisé par frequency_type. frequency_recurrence_factor est de type int, avec NULL comme valeur par défaut.

  • [ @frequency_subday = ] frequency_subday
    Fréquence de replanification nécessaire pendant la période définie. frequency_subday est de type int et peut prendre l'une des valeurs suivantes.

    Valeur

    Description

    1

    Une fois

    2

    Seconde

    4

    Minute

    8

    Heure

    NULL (par défaut)

     

  • [ @frequency_subday_interval = ] frequency_subday_interval
    Est l'intervalle pour frequency_subday. frequency_subday_interval est de type int, avec NULL comme valeur par défaut.

  • [ @active_start_time_of_day = ] active_start_time_of_day
    Heure à laquelle l’Agent de fusion est planifié pour la première fois, au format HHMMSS. active_start_time_of_day est de type int, avec NULL comme valeur par défaut.

  • [ @active_end_time_of_day = ] active_end_time_of_day
    Heure à laquelle l’Agent de fusion cesse d'être planifié, au format HHMMSS. active_end_time_of_day est de type int, avec NULL comme valeur par défaut.

  • [ @active_start_date = ] active_start_date
    Date à laquelle l’Agent de fusion est planifié pour la première fois, au format AAAAMMJJ. active_start_date est de type int, avec NULL comme valeur par défaut.

  • [ @active_end_date = ] active_end_date
    Date à laquelle l’Agent de fusion cesse d'être planifié, au format AAAAMMJJ. active_end_date est de type int, avec NULL comme valeur par défaut.

  • [ @enabled_for_syncmgr = ] 'enabled_for_syncmgr'
    Spécifie si l'abonnement peut être synchronisé à l'aide du Gestionnaire de synchronisation Windows. enabled_for_syncmgr est de type nvarchar(5), avec FALSE comme valeur par défaut. Si la valeur est false, l'abonnement n'est pas enregistré par le Gestionnaire de synchronisation. Si la valeur est true, l'abonnement est enregistré par le Gestionnaire de synchronisation et peut ensuite être synchronisé sans qu'il soit nécessaire de démarrer SQL Server Management Studio.

Valeurs des codes de retour

0 (succès) ou 1 (échec)

Notes

sp_addmergepushsubscription_agent est utilisée dans la réplication de fusion et se sert d'une fonctionnalité similaire à sp_addpushsubscription_agent.

Exemple

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

Autorisations

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.

Voir aussi

Référence

sp_addmergesubscription (Transact-SQL)

sp_changemergesubscription (Transact-SQL)

sp_dropmergesubscription (Transact-SQL)

sp_helpmergesubscription (Transact-SQL)

Concepts

Créer un abonnement par émission (push)

S'abonner à des publications