sp_addpullsubscription_agent (Transact-SQL)

 

S’applique à : SQL Server

CETTE RUBRIQUE S’APPLIQUE À :ouiSQL Server (à partir de la version 2008)nonAzure SQL DatabasenonAzure SQL Data WarehousenonParallel Data Warehouse

Ajoute un nouveau travail de l'Agent planifié, utilisé pour synchroniser un abonnement par extraction de données (pull) avec une publication transactionnelle. Cette procédure stockée est exécutée sur la base de données d'abonnement de l'Abonné.

Topic link icon Conventions de la syntaxe Transact-SQL

  
sp_addpullsubscription_agent [ @publisher = ] 'publisher'  
    [ , [ @publisher_db = ] 'publisher_db' ]  
        , [ @publication = ] 'publication'  
    [ , [ @subscriber = ] 'subscriber' ]  
    [ , [ @subscriber_db = ] 'subscriber_db' ]  
    [ , [ @subscriber_security_mode = ] subscriber_security_mode ]  
    [ , [ @subscriber_login = ] 'subscriber_login' ]  
    [ , [ @subscriber_password = ] 'subscriber_password' ]  
    [ , [ @distributor = ] 'distributor' ]  
    [ , [ @distribution_db = ] 'distribution_db' ]  
    [ , [ @distributor_security_mode = ] distributor_security_mode ]  
    [ , [ @distributor_login = ] 'distributor_login' ]  
    [ , [ @distributor_password = ] 'distributor_password' ]  
    [ , [ @optional_command_line = ] 'optional_command_line' ]  
    [ , [ @frequency_type = ] frequency_type ]  
    [ , [ @frequency_interval = ] frequency_interval ]  
    [ , [ @frequency_relative_interval = ] frequency_relative_interval ]  
    [ , [ @frequency_recurrence_factor = ] frequency_recurrence_factor ]  
    [ , [ @frequency_subda y= ] 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 ]  
    [ , [ @distribution_jobid = ] distribution_jobid OUTPUT ]  
    [ , [ @encrypted_distributor_password = ] encrypted_distributor_password ]  
    [ , [ @enabled_for_syncmgr = ] 'enabled_for_syncmgr' ]  
    [ , [ @ftp_address = ] 'ftp_address' ]  
    [ , [ @ftp_port = ] ftp_port ]  
    [ , [ @ftp_login = ] 'ftp_login' ]  
    [ , [ @ftp_password = ] 'ftp_password' ]  
    [ , [ @alt_snapshot_folder = ] 'alternate_snapshot_folder' ]  
    [ , [ @working_directory = ] 'working_directory' ]  
    [ , [ @use_ftp = ] 'use_ftp' ]  
    [ , [ @publication_type = ] publication_type ]  
    [ , [ @dts_package_name = ] 'dts_package_name' ]  
    [ , [ @dts_package_password = ] 'dts_package_password' ]  
    [ , [ @dts_package_location = ] 'dts_package_location' ]  
    [ , [ @reserved = ] 'reserved' ]  
    [ , [ @offloadagent = ] 'remote_agent_activation' ]  
    [ , [ @offloadserver = ] 'remote_agent_server_name']  
    [ , [ @job_name = ] 'job_name' ]  
    [ , [ @job_login = ] 'job_login' ]   
    [ , [ @job_password = ] 'job_password' ]   

[ @publisher=] 'publisher'
Nom du serveur de publication. serveur de publication est sysname, sans valeur par défaut.

[ @publisher_db=] 'publisher_db'
Nom de la base de données du serveur de publication. publisher_db est sysname, avec NULL comme valeur par défaut. publisher_db est ignoré par les serveurs de publication Oracle.

[ @publication=] 'publication'
Nom de la publication. publication est sysname, sans valeur par défaut.

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

System_CAPS_ICON_note.jpg Remarque


Ce paramètre est déconseillé et n'est maintenu que dans un but de compatibilité ascendante avec les scripts déjà établis.

[ @subscriber_db=] 'subscriber_db'
Est le nom de la base de données d’abonnement. subscriber_db est sysname, avec NULL comme valeur par défaut.

System_CAPS_ICON_note.jpg Remarque


Ce paramètre est déconseillé et n'est maintenu que dans un but de compatibilité ascendante avec les scripts déjà établis.

[ ** @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 int, avec NULL comme valeur par défaut. 0 spécifie SQL Server l’authentification. 1 Spécifie l’authentification Windows.

System_CAPS_ICON_note.jpg Remarque


Ce paramètre est déconseillé et n'est maintenu que dans un but de compatibilité ascendante avec les scripts déjà établis. L'Agent de distribution se connecte toujours à l'Abonné local à l'aide de l'authentification Windows. Si une valeur autre que NULL ou 1 est spécifiée pour ce paramètre, un message d’avertissement est retourné.

[ @subscriber_login =] 'subscriber_login'
Est la connexion à l’abonné à utiliser lors de la connexion à un abonné lors de la synchronisation. subscriber_login est sysname, avec NULL comme valeur par défaut.

System_CAPS_ICON_note.jpg Remarque


Ce paramètre est déconseillé et n'est maintenu que dans un but de compatibilité ascendante avec les scripts déjà établis. Si une valeur est précisée pour ce paramètre, un message d'avertissement est retourné mais la valeur reste ignorée.

[ @subscriber_password=] 'subscriber_password'
Mot de passe de l'Abonné. subscriber_password est requise si subscriber_security_mode a 0. subscriber_password est sysname, avec NULL comme valeur par défaut. Si un mot de passe d'abonné est utilisé, il est automatiquement chiffré.

System_CAPS_ICON_note.jpg Remarque


Ce paramètre est déconseillé et n'est maintenu que dans un but de compatibilité ascendante avec les scripts déjà établis. Si une valeur est précisée pour ce paramètre, un message d'avertissement est retourné mais la valeur reste ignorée.

[ @distributor=] 'distributor'
Est le nom du serveur de distribution. serveur de distribution est sysname, avec une valeur par défaut de la valeur spécifiée par publisher.

[ @distribution_db=] 'distribution_db'
Est le nom de la base de données de distribution. distribution_db est sysname, avec NULL comme valeur par défaut.

[ ** @distributor_security_mode=**] distributor_security_mode
Mode de sécurité à utiliser lors de la connexion à un serveur de distribution au cours d'une synchronisation. l’argument distributor_security_mode est int, avec une valeur par défaut 1. 0 spécifie SQL Server l’authentification. 1 Spécifie l’authentification Windows.

System_CAPS_ICON_important.jpg Important


Lorsque c'est possible, utilisez l'authentification Windows.

[ @distributor_login=] 'distributor_login'
Nom de connexion du serveur de distribution à utiliser lors de la connexion au cours d'une synchronisation. Cet argument est requise si distributor_security_mode a 0. Cet argument est sysname, avec NULL comme valeur par défaut.

[ @distributor_password =] 'distributor_password'
Mot de passe du serveur de distribution. distributor_password est requise si distributor_security_mode a 0. distributor_password est sysname, avec NULL comme valeur par défaut.

System_CAPS_ICON_important.jpg Important


N'utilisez pas de mot de passe vide. Utilisez un mot de passe fort. Lorsque c'est possible, demande aux utilisateurs de fournir les informations d'identification 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é.

[ @optional_command_line=] 'optional_command_line'
Invite de commandes facultative de l'Agent de distribution. Par exemple, - DefinitionFile C:\Distdef.txt ou - CommitBatchSize 10. optional_command_line est nvarchar (4000), avec la valeur par défaut est une chaîne vide.

[ @frequency_type=] frequency_type
Fréquence de planification de l'Agent de distribution. frequency_type est int, et peut prendre l’une des valeurs suivantes.

ValeurDescription
1Une fois
2 (par défaut)À la demande
4Tous les jours
8Semaine
16Mois
32Mensuelle relative
64Démarrage automatique
128Périodique
System_CAPS_ICON_note.jpg Remarque


La valeur 64 , l’Agent de Distribution s’exécute en mode continu. Cela correspond à la -continue paramètre pour l’agent. Pour plus d'informations, consultez Replication Distribution Agent.

[ ** @frequency_interval=**] frequency_interval
Valeur à appliquer à la fréquence définie par frequency_type. frequency_interval est int, avec 1 comme valeur par défaut.

[ ** @frequency_relative_interval=**] frequency_relative_interval
Date de l'Agent de distribution. Ce paramètre est utilisé lors de la frequency_type a 32 (mensuel relatif). frequency_relative_interval est int, et peut prendre l’une des valeurs suivantes.

ValeurDescription
1 (par défaut)Première
2Seconde
4Troisième
8Quatrième
16Dernière

[ ** @frequency_recurrence_factor=**] frequency_recurrence_factor
Facteur de récurrence utilisé par frequency_type. frequency_recurrence_factor est int, avec une valeur par défaut 1.

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

ValeurDescription
1 (par défaut)Une fois
2Seconde
4Minute
8Heure

[ ** @frequency_subday_interval=**] frequency_subday_interval
Intervalle de frequency_subday. frequency_subday_interval est int, avec une valeur par défaut 1.

[ ** @active_start_time_of_day=**] active_start_time_of_day
Heure à laquelle l’Agent de distribution est planifié pour la première fois, au format HHMMSS. active_start_time_of_day est int, avec une valeur par défaut 0.

[ ** @active_end_time_of_day=**] active_end_time_of_day
L’heure de la journée à laquelle l’Agent de Distribution cesse d’être planifié, représentée au format HHMMSS. active_end_time_of_day est int, avec une valeur par défaut 0.

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

[ @active_end_date=] active_end_date
Date à laquelle l’Agent de distribution cesse d'être planifié, au format AAAAMMJJ. active_end_date est int, avec une valeur par défaut 0.

[ @distribution_jobid =] distribution_jobidOUTPUT
ID de l'Agent de distribution pour ce travail. id_tâche_distribution est Binary (16), avec une valeur par défaut NULL et il est un paramètre de sortie.

[ ** @encrypted_distributor_password=**] mot_de_passe_distributeur_crypté
Paramètre mot_de_passe_distributeur_crypté n’est plus pris en charge. Tentative de définition de ce bits paramètre 1 entraîne une erreur.

[ @enabled_for_syncmgr=] 'enabled_for_syncmgr'
Si l’abonnement peut être synchronisé via Microsoft le Gestionnaire de synchronisation. l’argument enabled_for_syncmgr est nvarchar (5), avec FALSE comme valeur par défaut. Si false, l’abonnement n’est pas inscrit avec le Gestionnaire de synchronisation. Si true, l’abonnement est enregistré par le Gestionnaire de synchronisation et peuvent être synchronisée sans démarrer SQL Server Management Studio.

[ @ftp_address=] 'ftp_address'
Pour compatibilité descendante uniquement.

[ @ftp_port=] ftp_port
Pour compatibilité descendante uniquement.

[ @ftp_login=] 'ftp_login'
Pour compatibilité descendante uniquement.

[ @ftp_password=] 'ftp_password'
Pour compatibilité descendante uniquement.

[ @alt_snapshot_folder= ] 'alternate_snapshot_folder'
Indique l'emplacement du dossier de remplacement pour l'instantané. alternate_snapshot_folder est nvarchar (255), avec NULL comme valeur par défaut.

[ @working_directory= ] 'working_director'
Nom du répertoire de travail utilisé pour stocker les fichiers de données et de schéma destinés à la publication. working_directory est nvarchar (255), avec NULL comme valeur par défaut. Le nom doit être indiqué au format UNC.

[ @use_ftp= ] 'use_ftp'
Spécifie l’utilisation de FTP au lieu du protocole usuel pour extraire les instantanés. use_ftp est nvarchar (5), avec FALSE comme valeur par défaut.

[ @publication_type= ] publication_type
Indique le type de réplication de la publication. publication_type est un tinyint avec une valeur par défaut 0. Si 0, publication est un type de transaction. Si 1, publication est de type instantané. Si 2, publication est de type fusion.

[ @dts_package_name= ] 'dts_package_name'
Spécifie le nom du package DTS. l’argument dts_package_name est un sysname avec NULL comme valeur par défaut. Par exemple, pour spécifier un package nommé DTSPub_Package, le paramètre est le suivant : @dts_package_name = N'DTSPub_Package'.

[ @dts_package_password= ] 'dts_package_password'
Spécifie le mot de passe du package, s'il existe. dts_package_password est sysname avec NULL comme valeur par défaut, ce qui signifie un mot de passe n’est pas dans le package.

System_CAPS_ICON_note.jpg Remarque


Vous devez spécifier un mot de passe si l’argument dts_package_name est spécifié.

[ @dts_package_location= ] 'dts_package_location'
Spécifie l'emplacement du package. dts_package_location est un nvarchar(12), avec une valeur par défaut abonné. L’emplacement du package peut être distributeur ou abonné.

[ @reserved= ] 'reserved'
Identifié à titre d'information uniquement. Non pris en charge. La compatibilité future n'est pas garantie.

[ ** @offloadagent =] 'remote_agent_activation»

System_CAPS_ICON_note.jpg Remarque


L'activation d'agent distant est déconseillée et n'est plus prise en charge. Ce paramètre est uniquement pris en charge pour assurer la compatibilité descendante des scripts. Paramètre remote_agent_activation sur une valeur autre que false génère une erreur.

[ ** @offloadserver =] 'remote_agent_server_name»

System_CAPS_ICON_note.jpg Remarque


L'activation d'agent distant est déconseillée et n'est plus prise en charge. Ce paramètre est uniquement pris en charge pour assurer la compatibilité descendante des scripts. Paramètre remote_agent_server_name n’importe quelle valeur non nulle générera une erreur.

[ @job_name= ] 'job_name'
Nom d'un travail de l'agent existant. job_name est sysname, avec NULL comme valeur par défaut. Ce paramètre n'est indiqué que lorsque l'abonnement est synchronisé grâce à un travail existant plutôt qu'un nouveau travail (étant le comportement par défaut). Si vous n’êtes pas un membre de la sysadmin rôle serveur fixe, vous devez spécifier job_login et job_password lorsque vous spécifiez job_name.

[ @job_login= ] 'job_login'
Nom de connexion du compte Windows sous lequel l'Agent s'exécute. job_login est nvarchar (257), sans valeur par défaut. C'est ce compte Windows qui est destiné à toujours être utilisé pour les connexions des Agents à l'Abonné.

[ @job_password= ] 'job_password'
Mot de passe du compte Windows sous lequel l'Agent s'exécute. job_password est sysname, sans valeur par défaut.

System_CAPS_ICON_important.jpg Important


Lorsque c'est possible, demande aux utilisateurs de fournir les informations d'identification 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é.

0 (réussite) ou 1 (échec)

sp_addpullsubscription_agent est utilisée dans la réplication de capture instantanée et la réplication transactionnelle.

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

-- Execute this batch at the Subscriber.
DECLARE @publication AS sysname;
DECLARE @publisher AS sysname;
DECLARE @publicationDB AS sysname;
SET @publication = N'AdvWorksProductTran';
SET @publisher = $(PubServer);
SET @publicationDB = N'AdventureWorks2012';

-- At the subscription database, create a pull subscription 
-- to a transactional publication.
USE [AdventureWorks2012Replica]
EXEC sp_addpullsubscription 
  @publisher = @publisher, 
  @publication = @publication, 
  @publisher_db = @publicationDB;

-- Add an agent job to synchronize the pull subscription.
EXEC sp_addpullsubscription_agent 
  @publisher = @publisher, 
  @publisher_db = @publicationDB, 
  @publication = @publication, 
  @distributor = @publisher, 
  @job_login = $(Login), 
  @job_password = $(Password);
GO

Seuls les membres de la sysadmin rôle serveur fixe ou db_owner du rôle de base de données fixe peut exécuter sp_addpullsubscription_agent.

Créer un abonnement par extraction de données
S’abonner aux Publications
sp_addpullsubscription (Transact-SQL)
sp_change_subscription_properties (Transact-SQL)
sp_droppullsubscription (Transact-SQL)
sp_helppullsubscription (Transact-SQL)
sp_helpsubscription_properties (Transact-SQL)

Ajouts de la communauté

AJOUTER
Afficher: