sp_addlogreader_agent (Transact-SQL)sp_addlogreader_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 Agent de lecture du journal pour une base de données.Adds a Log Reader agent for a given database. 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_addlogreader_agent [ @job_login = ] 'job_login'  
        , [ @job_password = ] 'job_password'  
    [ , [ @job_name = ] 'job_name' ]  
    [ , [ @publisher_security_mode = ] publisher_security_mode ]  
    [ , [ @publisher_login = ] 'publisher_login' ]  
    [ , [ @publisher_password = ] 'publisher_password' ]   
    [ , [ @publisher = ] 'publisher' ]  

ArgumentsArguments

[ @job_login = ] 'job_login'Nom de MicrosoftMicrosoft connexion du compte Windows sous lequel l’agent s’exécute.[ @job_login = ] 'job_login' Is the login for the MicrosoftMicrosoft 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 des agents au serveur de distribution.This Windows account is always used for agent connections to the Distributor.

Notes

Pour les serveurs MicrosoftMicrosoft de publication non- SQL ServerSQL Server , il doit s’agir de la même connexion que celle spécifiée dans sp_adddistpublisher (Transact-SQL).For non- MicrosoftMicrosoftSQL ServerSQL Server Publishers, this must be the same login specified in sp_adddistpublisher (Transact-SQL).

[ @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, avec NULL comme valeur par défaut.job_password is sysname, with a default value of NULL.

Important

Ne stockez pas les informations d'authentification dans des fichiers de script.Do not store authentication information in script files. Pour une sécurité optimale, les noms de connexion et les mots de passe doivent être fournis au moment de l'exécution.For best security, login names and passwords should be supplied at runtime.

[ @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 n'est défini que lorsque l'Agent est démarré avec un travail existant au lieu d'un nouveau travail (la valeur par défaut).This parameter is only specified when the agent is started using an existing job instead of a newly created job (the default).

[ @publisher_security_mode = ] publisher_security_modeMode de sécurité utilisé par l’agent lors de la connexion au serveur de publication.[ @publisher_security_mode = ] publisher_security_mode Is the security mode used by the agent when connecting to the Publisher. publisher_security_mode est de type smallint, avec 1comme valeur par défaut.publisher_security_mode is smallint, with a default of 1. 0 spécifie SQL ServerSQL Server l’authentification et 1 spécifie l’authentification Windows.0 specifies SQL ServerSQL Server Authentication, and 1 specifies Windows Authentication. La valeur 0 doit être spécifiée pour les serveurs de SQL ServerSQL Server publication non-.A value of 0 must be specified for non- SQL ServerSQL Server Publishers.

[ @publisher_login = ] 'publisher_login'Nom de connexion utilisé lors de la connexion au serveur de publication.[ @publisher_login = ] 'publisher_login' Is the login used when connecting to the Publisher. publisher_login est de type sysname, avec NULL comme valeur par défaut.publisher_login is sysname, with a default of NULL. publisher_login doit être spécifié lorsque publisher_security_mode est égal à 0.publisher_login must be specified when publisher_security_mode is 0. Si publisher_login a la valeur null et que publisher_security_mode a la valeur 1, le compte Windows spécifié dans job_login sera utilisé lors de la connexion au serveur de publication.If publisher_login is NULL and publisher_security_mode is 1, then the Windows account specified in job_login will be used when connecting to the Publisher.

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

Ne stockez pas les informations d'authentification dans des fichiers de script.Do not store authentication information in script files. Pour une sécurité optimale, les noms de connexion et les mots de passe doivent être fournis au moment de l'exécution.For best security, login names and passwords should be supplied at runtime.

[ @publisher = ] 'publisher'Nom du serveur de publication non- SQL ServerSQL Server .[ @publisher = ] 'publisher' Is the name of the non- SQL ServerSQL Server Publisher. Publisher est de type sysname, avec NULL comme valeur par défaut.publisher is sysname, with a default of NULL.

Notes

Ne spécifiez pas ce paramètre pour un serveur de publication SQL ServerSQL Server.You should not specify this parameter for a SQL ServerSQL Server Publisher.

Valeurs des codes de retourReturn Code Values

0 (succès) ou 1 (échec)0 (success) or 1 (failure)

NotesRemarks

sp_addlogreader_agent est utilisé dans la réplication transactionnelle.sp_addlogreader_agent is used in transactional replication.

Vous devez exécuter sp_addlogreader_agent pour ajouter un agent de lecture du journal si vous avez mis à niveau une base de données qui a été activée SQL ServerSQL Server pour la réplication vers cette version de avant la création d’une publication qui utilisait la base de données.You must execute sp_addlogreader_agent to add a Log Reader agent if you upgraded a database that was enabled for replication to this version of SQL ServerSQL Server before a publication was created that used the database.

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_addlogreader_agent.Only members of the sysadmin fixed server role or the db_owner fixed database role can execute sp_addlogreader_agent.

ExempleExample

-- To avoid storing the login and password in the script file, the values 
-- are passed into SQLCMD as scripting variables. 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 @publicationDB AS sysname;
DECLARE @publication AS sysname;
DECLARE @login AS sysname;
DECLARE @password AS sysname;
SET @publicationDB = N'AdventureWorks'; 
SET @publication = N'AdvWorksProductTran'; 
-- Windows account used to run the Log Reader and Snapshot Agents.
SET @login = $(Login); 
-- This should be passed at runtime.
SET @password = $(Password); 

-- Enable transactional or snapshot replication on the publication database.
EXEC sp_replicationdboption 
    @dbname=@publicationDB, 
    @optname=N'publish',
    @value = N'true';

-- Execute sp_addlogreader_agent to create the agent job. 
EXEC sp_addlogreader_agent 
    @job_login = @login, 
    @job_password = @password,
    -- Explicitly specify the use of Windows Integrated Authentication (default) 
    -- when connecting to the Publisher.
    @publisher_security_mode = 1;

-- Create a new transactional publication with the required properties. 
EXEC sp_addpublication 
    @publication = @publication, 
    @status = N'active',
    @allow_push = N'true',
    @allow_pull = N'true',
    @independent_agent = N'true';

-- Create a new snapshot job for the publication, using a default schedule.
EXEC sp_addpublication_snapshot 
    @publication = @publication, 
    @job_login = @login, 
    @job_password = @password,
    -- Explicitly specify the use of Windows Integrated Authentication (default) 
    -- when connecting to the Publisher.
    @publisher_security_mode = 1;
GO

Voir aussiSee Also

Create a Publication Create a Publication
sp_addpublication (Transact-SQL) sp_addpublication (Transact-SQL)
sp_changelogreader_agent (Transact-SQL) sp_changelogreader_agent (Transact-SQL)
Procédures stockées de réplication (Transact-SQL)Replication Stored Procedures (Transact-SQL)