Agente lettura log replicheReplication Log Reader Agent

Agente lettura log repliche è un eseguibile che consente di monitorare il log delle transazioni di tutti i database configurati per la replica transazionale e di copiare le transazioni contrassegnate per la replica dal log delle transazioni al database di distribuzione.The Replication Log Reader Agent is an executable that monitors the transaction log of each database configured for transactional replication and copies the transactions marked for replication from the transaction log into the distribution database.

Nota

I parametri possono essere specificati in qualsiasi ordine.Parameters can be specified in any order. Quando i parametri facoltativi non vengono specificati, vengono utilizzati i valori predefiniti basati sul profilo agente predefinito.When optional parameters are not specified, predefined values based on the default agent profile are used.

SintassiSyntax


logread [-?]   
-Publisher server_name[\instance_name]   
-PublisherDB publisher_database   
[-Continuous]  
[-DefinitionFile def_path_and_file_name]  
[-Distributor server_name[\instance_name]]  
[-DistributorLogin distributor_login]  
[-DistributorPassword distributor_password]  
[-DistributorSecurityMode [0|1]]  
[-EncryptionLevel [0|1|2]]  
[-ExtendedEventConfigFile configuration_path_and_file_name]  
[-HistoryVerboseLevel [0|1|2]]  
[-KeepAliveMessageInterval keep_alive_message_interval_seconds]  
[-LoginTimeOut login_time_out_seconds]  
[-LogScanThreshold scan_threshold]  
[-MaxCmdsInTran number_of_commands]  
[-MessageInterval message_interval]  
[-Output output_path_and_file_name]  
[-OutputVerboseLevel [0|1|2|3|4]]  
[-PacketSize packet_size]  
[-PollingInterval polling_interval]  
[-ProfileName profile_name]   
[-PublisherFailoverPartner server_name[\instance_name] ]  
[-PublisherSecurityMode [0|1]]  
[-PublisherLogin publisher_login]  
[-PublisherPassword publisher_password]   
[-QueryTimeOut query_time_out_seconds]  
[-ReadBatchSize number_of_transactions]   
[-ReadBatchThreshold read_batch_threshold]  
[-RecoverFromDataErrors]  

ArgomentiArguments

-?-?
Visualizza le informazioni sull'utilizzo.Displays usage information.

-Publisher server_name[\instance_name]-Publisher server_name[\instance_name]
Nome del server di pubblicazione.Is the name of the Publisher. Specificare server_name per l'istanza predefinita di MicrosoftMicrosoft SQL ServerSQL Server in tale server.Specify server_name for the default instance of MicrosoftMicrosoft SQL ServerSQL Server on that server. Specificare server_name\instance_name per un'istanza denominata di SQL ServerSQL Server in tale server.Specify server_name\instance_name for a named instance of SQL ServerSQL Server on that server.

-PublisherDB publisher_database-PublisherDB publisher_database
Nome del database del server di pubblicazione.Is the name of the Publisher database.

-Continuous-Continuous
Specifica se l'agente tenta di eseguire continuamente il polling delle transazioni replicate.Specifies whether the agent tries to poll replicated transactions continually. Se specificato, l'agente esegue il polling delle transazioni replicate dall'origine in base agli intervalli di polling, anche se non vi sono transazioni in sospeso.If specified, the agent polls replicated transactions from the source at polling intervals even if there are no transactions pending.

-DefinitionFile def_path_and_file_name-DefinitionFile def_path_and_file_name
Percorso del file di definizione dell'agente.Is the path of the agent definition file. Un file di definizione dell'agente contiene argomenti della riga di comando per l'agente.An agent definition file contains command-line arguments for the agent. Il contenuto del file viene analizzato come file eseguibile.The content of the file is parsed as an executable file. Utilizzare virgolette doppie (") per specificare valori dell'argomento contenenti caratteri arbitrari.Use double quotation marks (") to specify argument values that contain arbitrary characters.

-Distributor server_name[\instance_name]-Distributor server_name[\instance_name]
Nome del database di distribuzione.Is the Distributor name. Specificare server_name per l'istanza predefinita di SQL ServerSQL Server in tale server.Specify server_name for the default instance of SQL ServerSQL Server on that server. Specificare server_name\instance_name per un'istanza denominata di SQL ServerSQL Server in tale server.Specify server_name\instance_name for a named instance of SQL ServerSQL Server on that server.

-DistributorLogin distributor_login-DistributorLogin distributor_login
Nome dell'account di accesso del database di distribuzione.Is the Distributor login name.

-DistributorPassword distributor_password-DistributorPassword distributor_password
Password del database di distribuzione.Is the Distributor password.

-DistributorSecurityMode [ 0| 1]-DistributorSecurityMode [ 0| 1]
Specifica la modalità di sicurezza del database di distribuzione.Specifies the security mode of the Distributor. Un valore 0 indica la modalità di autenticazione di SQL ServerSQL Server (impostazione predefinita), mentre un valore 1 indica la modalità di autenticazione di MicrosoftMicrosoft Windows.A value of 0 indicates SQL ServerSQL Server Authentication Mode (default), and a value of 1 indicates MicrosoftMicrosoft Windows Authentication Mode.

-EncryptionLevel [ 0 | 1 | 2 ]-EncryptionLevel [ 0 | 1 | 2 ]
Livello di crittografia SSL (Secure Sockets Layer) utilizzato dall'agente di lettura log quando vengono stabilite le connessioni.Is the level of Secure Sockets Layer (SSL) encryption that is used by the Log Reader Agent when making connections.

Valore di EncryptionLevelEncryptionLevel value DescrizioneDescription
00 Specifica che SSL non viene utilizzato.Specifies that SSL is not used.
11 Specifica che SSL viene utilizzato, ma l'agente non verifica che il certificato server SSL sia firmato da un'autorità emittente attendibile.Specifies that SSL is used, but the agent does not verify that the SSL server certificate is signed by a trusted issuer.
22 Specifica che SSL viene utilizzato e che il certificato viene verificato.Specifies that SSL is used, and that the certificate is verified.

Per altre informazioni, vedere Panoramica della sicurezza (replica).For more information, see Security Overview (Replication).

-ExtendedEventConfigFile configuration_path_and_file_name-ExtendedEventConfigFile configuration_path_and_file_name
Consente di specificare il percorso e il nome del file di configurazione XML di eventi estesi.Specifies the path and file name for the extended events XML configuration file. Il file di configurazione di eventi estesi consente di configurare sessioni e abilitare eventi per la traccia.The extended events configuration file allows you to configure sessions and enable events for tracking.

-HistoryVerboseLevel [ 0| 1| 2]-HistoryVerboseLevel [ 0| 1| 2]
Consente di specificare la quantità di cronologia registrata durante un'operazione dell'agente di lettura log.Specifies the amount of history logged during a log reader operation. Per ridurre al minimo l'effetto della registrazione della cronologia sulle prestazioni, selezionare 1.You can minimize the performance effect of history logging by selecting 1.

Valore di HistoryVerboseLevelHistoryVerboseLevel value DescrizioneDescription
00
11 Valore predefinito.Default. Aggiorna sempre un messaggio di cronologia precedente con lo stesso stato (avvio, avanzamento, esito positivo e così via).Always update a previous history message of the same status (startup, progress, success, and so on). Se non è presente un record precedente con lo stesso stato, inserisce un nuovo record.If no previous record with the same status exists, insert a new record.
22 Inserisce nuovi record della cronologia, a meno che il record sia per eventi come messaggi inattivi o messaggi di processo con esecuzione prolungata, nel qual caso aggiorna i record precedenti.Insert new history records unless the record is for such things as idle messages or long-running job messages, in which case update the previous records.

-KeepAliveMessageInterval keep_alive_message_interval_seconds-KeepAliveMessageInterval keep_alive_message_interval_seconds
Numero di secondi prima che il thread per la cronologia controlli se una delle connessioni esistenti è in attesa di una risposta dal server.Is the number of seconds before the history thread checks if any of the existing connections is waiting for a response from the server. Questo valore può essere ridotto per evitare che l'agente di controllo contrassegni l'agente di lettura log come sospetto in caso di esecuzione di un batch con esecuzione prolungata.This value can be decreased to avoid having the checkup agent mark the Log Reader Agent as suspect when executing a long-running batch. Il valore predefinito è 300 secondi.The default is 300 seconds.

-LoginTimeOut login_time_out_seconds-LoginTimeOut login_time_out_seconds
Numero di secondi prima del timeout di accesso.Is the number of seconds before the login times out. Il valore predefinito è 15 secondi.The default is 15 seconds.

-LogScanThreshold scan_threshold-LogScanThreshold scan_threshold
Solo per uso interno.Internal use only.

-MaxCmdsInTran number_of_commands-MaxCmdsInTran number_of_commands
Specifica il numero massimo di istruzioni raggruppate in una transazione durante la scrittura dei comandi nel database di distribuzione da parte dell'agente di lettura log.Specifies the maximum number of statements grouped into a transaction as the Log Reader writes commands to the distribution database. L'utilizzo di questo parametro consente all'agente di lettura log e all'agente di distribuzione di dividere le transazioni di grandi dimensioni, ovvero costituite da molti comandi, nel server di pubblicazione in diverse transazioni più piccole quando applicate al Sottoscrittore.Using this parameter allows the Log Reader Agent and Distribution Agent to divide large transactions (consisting of many commands) at the Publisher into several smaller transactions when applied at the Subscriber. Può inoltre ridurre la possibilità che si verifichino contese nel server di distribuzione e diminuire la latenza tra il server di pubblicazione e il Sottoscrittore.Specifying this parameter can reduce contention at the Distributor and reduce latency between the Publisher and Subscriber. Dal momento che la transazione originale viene applicata in unità più piccole, il Sottoscrittore può accedere alle righe di una vasta transazione logica del server di pubblicazione prima della fine della transazione originale, violando la rigida atomicità transazionale.Because the original transaction is applied in smaller units, the Subscriber can access rows of a large logical Publisher transaction prior to the end of the original transaction, breaking strict transactional atomicity. Il valore predefinito è 0, che consente di mantenere i limiti delle transazioni del server di pubblicazione.The default is 0, which preserves the transaction boundaries of the Publisher.

Nota

Questo parametro viene ignorato per pubblicazioni non SQL ServerSQL Server .This parameter is ignored for non- SQL ServerSQL Server publications. Per ulteriori informazioni, vedere la sezione "Configurazione del processo del set di transazioni" in Performance Tuning for Oracle Publishers.For more information, see the section "Configuring the Transaction Set Job" in Performance Tuning for Oracle Publishers.

-MessageInterval message_interval-MessageInterval message_interval
Intervallo di tempo utilizzato per la registrazione della cronologia.Is the time interval used for history logging. Un evento della cronologia viene registrato quando viene raggiunto il valore di MessageInterval dopo la registrazione dell'ultimo evento della cronologia.A history event is logged when the MessageInterval value is reached after the last history event is logged.

Se nell'origine non vi sono transazioni replicate disponibili, tramite l'agente viene inviato al server di distribuzione un messaggio che segnala l'assenza di transazioni.If there is no replicated transaction available at the source, the agent reports a no-transaction message to the Distributor. Questa opzione specifica per quanto tempo l'agente aspetta prima di inviare un altro messaggio di assenza di transazioni.This option specifies how long the agent waits before reporting another no-transaction message. Gli agenti inviano sempre un messaggio di assenza di transazioni quando rilevano che nell'origine non vi sono transazioni disponibili dopo aver elaborato in precedenza transazioni replicate.Agents always report a no-transaction message when they detect that there are no transactions available at the source after previously processing replicated transactions. Il valore predefinito è 60 secondi.The default is 60 seconds.

-Output output_path_and_file_name-Output output_path_and_file_name
Percorso del file di output dell'agente.Is the path of the agent output file. Se non viene specificato il nome file, l'output viene inviato alla console.If the file name is not provided, the output is sent to the console. Se il nome file specificato esiste già, l'output viene aggiunto al file.If the specified file name exists, the output is appended to the file.

-OutputVerboseLevel [ 0| 1| 2 | 3 | 4 ]-OutputVerboseLevel [ 0| 1| 2 | 3 | 4 ]
Specifica se l'output deve essere dettagliato.Specifies whether the output should be verbose.

ValoreValue DescrizioneDescription
00 Vengono stampati solo i messaggi di errore.Only error messages are printed.
11 Vengono stampati tutti i messaggi di report di stato dell'agente.All agent progress report messages are printed.
2 (impostazione predefinita)2 (default) Vengono stampati tutti i messaggi di errore e i messaggi di report di stato dell'agente.All error messages and agent progress report messages are printed.
33 Vengono stampati i primi 100 byte di ogni comando replicato.The first 100 bytes of each replicated command are printed.
44 Vengono stampati tutti i comandi replicati.All replicated commands are printed.

I valori 2-4 sono utili quando si esegue il debug.Values 2-4 are useful when debugging.

-PacketSize packet_size-PacketSize packet_size
Dimensioni del pacchetto, in byte.Is the packet size, in bytes. Il valore predefinito è 4096 byte.The default is 4096 (bytes).

-PollingInterval polling_interval-PollingInterval polling_interval
Frequenza, in secondi, di esecuzione di query sul log per le transazioni replicate.Is how often, in seconds, the log is queried for replicated transactions. Il valore predefinito è 5 secondi.The default is 5 seconds.

-ProfileName profile_name-ProfileName profile_name
Specifica un profilo agente da utilizzare per i parametri dell'agente.Specifies an agent profile to use for agent parameters. Se ProfileName è NULL, il profilo agente è disabilitato.If ProfileName is NULL, the agent profile is disabled. Se ProfileName non viene specificato, viene utilizzato il profilo predefinito per il tipo di agente.If ProfileName is not specified, the default profile for the agent type is used. Per altre informazioni, vedere Profili degli agenti di replica.For information, see Replication Agent Profiles.

-PublisherFailoverPartner server_name[\instance_name]-PublisherFailoverPartner server_name[\instance_name]
Specifica l'istanza del partner di failover di SQL ServerSQL Server che partecipa in una sessione di mirroring del database con il database di pubblicazione.Specifies the failover partner instance of SQL ServerSQL Server participating in a database mirroring session with the publication database. Per altre informazioni, vedere Database Mirroring and Replication (SQL Server).For more information, see Database Mirroring and Replication (SQL Server).

-PublisherSecurityMode [ 0| 1]-PublisherSecurityMode [ 0| 1]
Specifica la modalità di sicurezza del server di pubblicazione.Specifies the security mode of the Publisher. Un valore 0 indica la modalità di autenticazione di SQL ServerSQL Server (impostazione predefinita), mentre un valore 1 indica la modalità di autenticazione di Windows.A value of 0 indicates SQL ServerSQL Server Authentication (default), and a value of 1 indicates Windows Authentication Mode.

-PublisherLogin publisher_login-PublisherLogin publisher_login
Nome dell'account di accesso del server di pubblicazione.Is the Publisher login name.

-PublisherPassword publisher_password-PublisherPassword publisher_password
Password del server di pubblicazione.Is the Publisher password.

-QueryTimeOut query_time_out_seconds-QueryTimeOut query_time_out_seconds
Numero di secondi prima del timeout delle query.Is the number of seconds before the query times out. Il valore predefinito è 1800 secondi.The default is 1800 seconds.

-ReadBatchSize number_of_transactions-ReadBatchSize number_of_transactions
Numero massimo di transazioni lette dal log delle transazioni del database di pubblicazione per ciclo di elaborazione, con un valore predefinito di 500.Is the maximum number of transactions read out of the transaction log of the publishing database per processing cycle, with a default of 500. L'agente continuerà a leggere transazioni nei batch fino a quando viene completata la lettura di tutte le transazioni nel log.The agent will continue to read transactions in batches until all transactions are read from the log. Questo parametro non è supportato per i server di pubblicazione Oracle.This parameter is not supported for Oracle Publishers.

-ReadBatchThreshold number_of_commands-ReadBatchThreshold number_of_commands
Numero di comandi di replica da leggere dal log delle transazioni prima del rilascio al Sottoscrittore da parte dell'agente di distribuzione.Is the number of replication commands to be read from the transaction log before being issued to the Subscriber by the Distribution Agent. Il valore predefinito è 0.The default is 0. Se questo parametro non è specificato, l'agente di lettura log leggerà fino alla fine del log o fino al numero specificato in -ReadBatchSize (numero di transazioni).If this parameter is not specified, the Log Reader Agent will read to the end of the log or to the number specified in -ReadBatchSize (number of transactions).

-RecoverFromDataErrors-RecoverFromDataErrors
Specifica che l'esecuzione dell'agente di lettura continua anche nel caso in cui vengano rilevati errori nei dati di colonna pubblicati da un server di pubblicazione non SQL Server.Specifies that the Log Reader Agent continue to run when it encounters errors in column data published from a non-SQL Server Publisher. Per impostazione predefinita, tali errori comportano l'interruzione dell'agente di lettura log.By default, such errors cause the Log Reader Agent to fail. Quando si utilizza -RecoverFromDataErrors, i dati di colonna erronei vengono replicati come NULL o come valore non Null appropriato e i messaggi di avviso vengono registrati nella tabella MSlogreader_history .When you use -RecoverFromDataErrors, erroneous column data is replicated either as NULL or an appropriate nonnull value, and warning messages are logged to the MSlogreader_history table. Questo parametro è supportato solo per i server di pubblicazione Oracle.This parameter is only supported for Oracle Publishers.

OsservazioniRemarks

Importante

Se SQL ServerSQL Server Agent è stato installato per l'esecuzione con un account di sistema locale anziché un account utente di dominio (impostazione predefinita), il servizio può accedere solo al computer locale.If you installed SQL ServerSQL Server Agent to run under a local system account instead of under a domain user account (the default), the service can access only the local computer. Se l'agente di lettura log in esecuzione in SQL ServerSQL Server Agent è configurato per l'utilizzo della modalità di autenticazione di Windows durante l'accesso a SQL ServerSQL Server, l'agente di lettura log si interrompe.If the Log Reader Agent that runs under SQL ServerSQL Server Agent is configured to use Windows Authentication Mode when it logs in to SQL ServerSQL Server, the Log Reader Agent fails. L'impostazione predefinita prevede l'autenticazione di SQL ServerSQL Server .The default setting is SQL ServerSQL Server Authentication. Per informazioni sulla modifica degli account di sicurezza, vedere View and Modify Replication Security Settings.For information about changing security accounts, see View and Modify Replication Security Settings.

Per avviare l'agente di lettura log, eseguire logread.exe dal prompt dei comandi.To start the Log Reader Agent, execute logread.exe from the command prompt. Per informazioni, vedere Concetti di base relativi ai file eseguibili dell'agente di replica.For information, see Replication Agent Executables Concepts.

Cronologia modificheChange History

Contenuto aggiornatoUpdated content
Aggiunta del parametro -ExtendedEventConfigFile .Added the -ExtendedEventConfigFile parameter.

Vedere ancheSee Also

Amministrazione dell'agente di replicaReplication Agent Administration