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.

ms189516.security(it-it,SQL.90).gifNota sulla protezione:
 Quando si configura un server di distribuzione remoto per un server di pubblicazione, 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 Crittografia delle connessioni a SQL Server.

Icona di collegamento a un argomentoConvenzioni 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 per l'account di Windows utilizzato per l'esecuzione dell'agente. job_password è di tipo sysname e il valore predefinito è NULL.

    ms189516.security(it-it,SQL.90).gifNota sulla protezione:
    Non archiviare informazioni di autenticazione in file script. Per una protezione 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 protezione utilizzata dall'agente per la connessione al server di pubblicazione. publisher_security_mode è di tipo smallint e il 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. È necessario specificare publisher_login se 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.

    ms189516.security(it-it,SQL.90).gifNota sulla protezione:
    Non archiviare informazioni di autenticazione in file script. Per una protezione 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.

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.

Valori restituiti

0 (esito positivo) o 1 (esito negativo)

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)

Altre risorse

How to: Create a Publication (Replication Transact-SQL Programming)

Guida in linea e informazioni

Assistenza su SQL Server 2005