Freigeben über


sp_addlogreader_agent (Transact-SQL)

Fügt einen Protokolllese-Agent für eine bestimmte Datenbank hinzu. Diese gespeicherte Prozedur wird auf dem Verleger für die Veröffentlichungsdatenbank ausgeführt.

SicherheitshinweisSicherheitshinweis

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. Sie sollten die Verbindung zwischen dem Verleger und dem zugehörigen Remoteverteiler verschlüsseln, bevor Sie diese gespeicherte Prozedur ausführen. Weitere Informationen finden Sie unter Aktivieren von verschlüsselten Verbindungen zum Datenbankmodul (SQL Server-Konfigurations-Manager).

Themenlink (Symbol) Transact-SQL-Syntaxkonventionen

Syntax

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

Argumente

  • [ @job_login= ] 'job_login'
    Der Anmeldename für das Microsoft Windows-Konto, unter dem der Agent ausgeführt wird. job_login ist vom Datentyp nvarchar(257) und hat den Standardwert NULL. Das Windows-Konto wird stets für Agent-Verbindungen mit dem Verteiler verwendet.

    HinweisHinweis

    Bei Nicht-Microsoft SQL Server-Verlegern muss es sich dabei um den Anmeldenamen handeln, der in sp_adddistpublisher (Transact-SQL) festgelegt ist.

  • [ @job_password= ] 'job_password'
    Das Kennwort für das Windows-Konto, unter dem der Agent ausgeführt wird. job_password ist vom Datentyp sysname und hat den Standardwert NULL.

    SicherheitshinweisSicherheitshinweis

    Speichern Sie keine Authentifizierungsinformationen in Skriptdateien. Anmeldenamen und Kennwörter sollten stets zur Laufzeit bereitgestellt werden, um einen höchstmöglichen Grad an Sicherheit zu bieten.

  • [ @job_name= ] 'job_name'
    Der Name eines vorhandenen Agentauftrags. job_name ist vom Datentyp sysname und hat den Standardwert NULL. Dieser Parameter wird nur dann angegeben, wenn der Agent mit einem vorhandenen Auftrag anstatt mit einem neu erstellten Auftrag (Standard) gestartet wird.

  • [ @publisher_security_mode= ] publisher_security_mode
    Der vom Agent beim Herstellen der Verbindung mit dem Verleger verwendete Sicherheitsmodus. publisher_security_mode ist vom Datentyp smallint. Der Standardwert ist 1. 0 legt die SQL Server-Authentifizierung fest und 1 die Windows-Authentifizierung. Für Nicht-SQL Server-Verleger muss ein Wert von 0 angegeben werden.

  • [ @publisher_login= ] 'publisher_login'
    Der Anmeldename, der beim Herstellen der Verbindung mit dem Verleger verwendet wird. publisher_login ist vom Datentyp sysname und hat den Standardwert NULL. publisher_login muss angegeben werden, wenn publisher_security_mode 0 ist. Wenn publisher_login den Wert NULL und publisher_security_mode den Wert 1 aufweist, wird das in job_login angegebene Windows-Konto für die Verbindung mit dem Verleger verwendet.

  • [ @publisher_password= ] 'publisher_password'
    Das Kennwort, das beim Herstellen der Verbindung mit dem Verleger verwendet wird. publisher_password ist vom Datentyp sysname und hat den Standardwert NULL.

    SicherheitshinweisSicherheitshinweis

    Speichern Sie keine Authentifizierungsinformationen in Skriptdateien. Anmeldenamen und Kennwörter sollten stets zur Laufzeit bereitgestellt werden, um einen höchstmöglichen Grad an Sicherheit zu bieten.

  • [ @publisher= ] 'publisher'
    Der Name des Nicht-SQL Server-Verlegers. publisher ist vom Datentyp sysname und hat den Standardwert NULL.

    HinweisHinweis

    Sie sollten diesen Parameter nicht für einen SQL Server-Verleger festlegen.

Rückgabecodewerte

0 (Erfolg) oder 1 (Fehler)

Hinweise

sp_addlogreader_agent wird für die Transaktionsreplikation verwendet.

Sie müssen sp_addlogreader_agent ausführen, um einen Protokolllese-Agent hinzuzufügen, wenn Sie eine Datenbank, die für die Replikation aktiviert ist, auf diese Version von SQL Server aktualisiert haben, bevor eine Veröffentlichung erstellt wurde, die diese Datenbank verwendet.

Berechtigungen

Nur Mitglieder der festen Serverrolle sysadmin oder der festen Datenbankrolle db_owner können sp_addlogreader_agent ausführen.

Beispiel

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

Siehe auch

Verweis

sp_addpublication (Transact-SQL)

sp_changelogreader_agent (Transact-SQL)

Gespeicherte Replikationsprozeduren (Transact-SQL)

Konzepte

Erstellen einer Veröffentlichung