sp_addlogreader_agent (Transact-SQL)

Aggiunge un agente di lettura log per un database specificato. Questa stored procedure viene eseguita nel database di pubblicazione del server di pubblicazione.

Nota sulla sicurezzaNota sulla sicurezza

Quando si configura un server di pubblicazione con un server di distribuzione remoto, i valori specificati per tutti i parametri, inclusi job_login e job_password, vengono inviati al server di distribuzione come testo normale. È consigliabile crittografare la connessione tra il server di pubblicazione e il server di distribuzione remoto prima di eseguire questa stored procedure. Per ulteriori informazioni, vedere Abilitazione di connessioni crittografate al Motore di database (Gestione configurazione SQL Server).

Icona di collegamento a un argomento Convenzioni della sintassi Transact-SQL

Sintassi

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

Argomenti

  • [ @job_login= ] 'job_login'
    Account di accesso per l'account di Microsoft Windows utilizzato per l'esecuzione dell'agente. job_login è di tipo nvarchar(257) e il valore predefinito è NULL. Questo account di Windows viene sempre utilizzato per le connessioni dell'agente al server di distribuzione.

    [!NOTA]

    Per server di pubblicazione non Microsoft SQL Server, deve corrispondere all'account di accesso specificato in sp_adddistpublisher (Transact-SQL).

  • [ @job_password= ] 'job_password'
    Password dell'account di Windows utilizzato per l'esecuzione dell'agente. job_password è di tipo sysname e il valore predefinito è NULL.

    Nota sulla sicurezzaNota sulla sicurezza

    Non archiviare informazioni di autenticazione in file script. Per una sicurezza ottimale, i nomi e le password degli account di accesso dovrebbero essere passati in fase di esecuzione.

  • [ @job_name= ] 'job_name'
    Nome di un processo esistente dell'agente. job_name è di tipo sysname e il valore predefinito è NULL. Questo parametro viene specificato solo quando l'agente viene avviato con un processo esistente anziché con un nuovo processo creato (impostazione predefinita).

  • [ @publisher_security_mode= ] publisher_security_mode
    Modalità di sicurezza utilizzata dall'agente per la connessione al server di pubblicazione. publisher_security_mode è smallint, con valore predefinito 1. 0 specifica l'autenticazione di SQL Server e 1 l'autenticazione di Windows. Per server di pubblicazione non SQL Server è necessario specificare il valore 0.

  • [ @publisher_login= ] 'publisher_login'
    Account di accesso utilizzato per la connessione al server di pubblicazione. publisher_login è di tipo sysname e il valore predefinito è NULL. publisher_login deve essere specificato quando publisher_security_mode è 0. Se publisher_login è NULL e il valore di publisher_security_mode è 1, per la connessione al server di pubblicazione verrà utilizzato l'account di Windows specificato in job_login.

  • [ @publisher_password= ] 'publisher_password'
    Password utilizzata per la connessione al server di pubblicazione. publisher_password è di tipo sysname e il valore predefinito è NULL.

    Nota sulla sicurezzaNota sulla sicurezza

    Non archiviare informazioni di autenticazione in file script. Per una sicurezza ottimale, i nomi e le password degli account di accesso dovrebbero essere passati in fase di esecuzione.

  • [ @publisher= ] 'publisher'
    Nome del server di pubblicazione non SQL Server. publisher è di tipo sysname e il valore predefinito è NULL.

    [!NOTA]

    Non specificare questo parametro per un server di pubblicazione SQL Server.

Valori restituiti

0 (esito positivo) o 1 (esito negativo)

Osservazioni

sp_addlogreader_agent viene utilizzata per la replica transazionale.

Eseguire sp_addlogreader_agent per aggiungere un agente di lettura log se si è aggiornato un database abilitato per la replica a questa versione di SQL Server prima della creazione di una pubblicazione che utilizza tale database.

Autorizzazioni

Solo i membri del ruolo predefinito del server sysadmin o del ruolo predefinito del database db_owner possono eseguire sp_addlogreader_agent.

Esempio

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

Vedere anche

Riferimento

sp_addpublication (Transact-SQL)

sp_changelogreader_agent (Transact-SQL)

Stored procedure per la replica (Transact-SQL)

Concetti

Creazione di una pubblicazione