sp_addlogreader_agent (Transact-SQL)sp_addlogreader_agent (Transact-SQL)

Anwendungsbereich:Applies to: JaSQL ServerSQL Server (alle unterstützten Versionen) yesSQL ServerSQL Server (all supported versions) JaVerwaltete Azure SQL-InstanzAzure SQL Managed InstanceYesVerwaltete Azure SQL-InstanzAzure SQL Managed InstanceAnwendungsbereich:Applies to: JaSQL ServerSQL Server (alle unterstützten Versionen) yesSQL ServerSQL Server (all supported versions) JaVerwaltete Azure SQL-InstanzAzure SQL Managed InstanceYesVerwaltete Azure SQL-InstanzAzure SQL Managed Instance

Fügt einen Protokolllese-Agent für eine bestimmte Datenbank hinzu.Adds a Log Reader agent for a given database. Diese gespeicherte Prozedur wird auf dem Verleger für die Veröffentlichungs Datenbank ausgeführt.This stored procedure is executed at the Publisher on the publication database.

Wichtig

Beim Konfigurieren eines Verlegers mit einem Remoteverteiler werden die Werte, die für alle Parameter, einschließlich job_login und job_password, bereitgestellt werden, als Nur-Text an den Verteiler gesendet.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. Sie sollten die Verbindung zwischen dem Verleger und dem zugehörigen Remoteverteiler verschlüsseln, bevor Sie diese gespeicherte Prozedur ausführen.You should encrypt the connection between the Publisher and its remote Distributor before executing this stored procedure. Weitere Informationen finden Sie unter Aktivieren von verschlüsselten Verbindungen zur Datenbank-Engine (SQL Server-Konfigurations-Manager).For more information, see Enable Encrypted Connections to the Database Engine (SQL Server Configuration Manager).

Symbol für Themenlink Transact-SQL-SyntaxkonventionenTopic link icon Transact-SQL Syntax Conventions

SyntaxSyntax

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

ArgumenteArguments

[ @job_login = ] 'job_login' Der Anmelde Name für das MicrosoftMicrosoft Windows-Konto, unter dem der Agent ausgeführt wird.[ @job_login = ] 'job_login' Is the login for the MicrosoftMicrosoft Windows account under which the agent runs. job_login ist vom Datentyp nvarchar (257) und hat den Standardwert NULL.job_login is nvarchar(257), with a default value of NULL. Das Windows-Konto wird stets für Agent-Verbindungen mit dem Verteiler verwendet.This Windows account is always used for agent connections to the Distributor.

Hinweis

Bei nicht-- MicrosoftMicrosoft SQL ServerSQL Server Verlegern muss es sich hierbei um denselben Anmelde Namen handeln, der in sp_adddistpublisher (Transact-SQL-)angegeben ist.For non- MicrosoftMicrosoftSQL ServerSQL Server Publishers, this must be the same login specified in sp_adddistpublisher (Transact-SQL).

[ @job_password = ] 'job_password' Das Kennwort für das Windows-Konto, unter dem der Agent ausgeführt wird.[ @job_password = ] 'job_password' Is the password for the Windows account under which the agent runs. job_password ist vom Datentyp vom Datentyp sysnameund hat den Standardwert NULL.job_password is sysname, with a default value of NULL.

Wichtig

Speichern Sie keine Authentifizierungsinformationen in Skriptdateien.Do not store authentication information in script files. Für die optimale Sicherheit sollten Anmeldenamen und Kennwörter zur Laufzeit bereitgestellt werden.For best security, login names and passwords should be supplied at runtime.

[ @job_name = ] 'job_name' Der Name eines vorhandenen Agentauftrags.[ @job_name = ] 'job_name' Is the name of an existing agent job. job_name ist vom Datentyp vom Datentyp sysnameund hat den Standardwert NULL.job_name is sysname, with a default value of NULL. Dieser Parameter wird nur dann angegeben, wenn der Agent mit einem vorhandenen Auftrag anstatt mit einem neu erstellten Auftrag (Standard) gestartet wird.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_mode Der Sicherheitsmodus, der vom Agent beim Herstellen einer Verbindung mit dem Verleger verwendet wird.[ @publisher_security_mode = ] publisher_security_mode Is the security mode used by the agent when connecting to the Publisher. publisher_security_mode ist vom Datentyp smallint. der Standardwert ist 1.publisher_security_mode is smallint, with a default of 1. 0 gibt die SQL ServerSQL Server Authentifizierung an, und 1 gibt die Windows-Authentifizierung an.0 specifies SQL ServerSQL Server Authentication, and 1 specifies Windows Authentication. Für nicht--Verleger muss ein Wert von 0 angegeben werden SQL ServerSQL Server .A value of 0 must be specified for non- SQL ServerSQL Server Publishers.

[ @publisher_login = ] 'publisher_login' Der Anmelde Name, der beim Herstellen einer Verbindung mit dem Verleger verwendet wird.[ @publisher_login = ] 'publisher_login' Is the login used when connecting to the Publisher. publisher_login ist vom Datentyp vom Datentyp sysnameund hat den Standardwert NULL.publisher_login is sysname, with a default of NULL. publisher_login muss angegeben werden, wenn publisher_security_mode den Wert 0hat.publisher_login must be specified when publisher_security_mode is 0. Wenn publisher_login NULL und publisher_security_mode 1 ist, wird das in job_login angegebene Windows-Konto verwendet, wenn eineVerbindung mit dem Verleger hergestellt wird.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' Das Kennwort, das beim Herstellen einer Verbindung mit dem Verleger verwendet wird.[ @publisher_password = ] 'publisher_password' Is the password used when connecting to the Publisher. publisher_password ist vom Datentyp vom Datentyp sysnameund hat den Standardwert NULL.publisher_password is sysname, with a default of NULL.

Wichtig

Speichern Sie keine Authentifizierungsinformationen in Skriptdateien.Do not store authentication information in script files. Für die optimale Sicherheit sollten Anmeldenamen und Kennwörter zur Laufzeit bereitgestellt werden.For best security, login names and passwords should be supplied at runtime.

[ @publisher = ] 'publisher' Der Name des nicht-- SQL ServerSQL Server Verlegers.[ @publisher = ] 'publisher' Is the name of the non- SQL ServerSQL Server Publisher. Publisher ist vom Datentyp vom Datentyp sysnameund hat den Standardwert NULL.publisher is sysname, with a default of NULL.

Hinweis

Sie sollten diesen Parameter nicht für einen SQL ServerSQL Server-Verleger festlegen.You should not specify this parameter for a SQL ServerSQL Server Publisher.

RückgabecodewerteReturn Code Values

0 (Erfolg) oder 1 (Fehler)0 (success) or 1 (failure)

BemerkungenRemarks

sp_addlogreader_agent wird bei der Transaktions Replikation verwendet.sp_addlogreader_agent is used in transactional replication.

Sie müssen sp_addlogreader_agent ausführen, um einen Protokoll Lese-Agent hinzuzufügen, wenn Sie eine Datenbank, die für die Replikation aktiviert wurde, auf diese Version von aktualisiert haben, SQL ServerSQL Server bevor eine Veröffentlichung erstellt wurde, die die Datenbank verwendet.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.

BerechtigungenPermissions

Nur Mitglieder der festen Server Rolle sysadmin oder der festen Daten Bank Rolle db_owner können sp_addlogreader_agentausführen.Only members of the sysadmin fixed server role or the db_owner fixed database role can execute sp_addlogreader_agent.

BeispielExample

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

Weitere InformationenSee 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)
Gespeicherte Automatisierungsprozeduren (Transact-SQL)Replication Stored Procedures (Transact-SQL)