Replikationsprotokolllese-AgentReplication Log Reader Agent

Dieses Thema gilt für: JaSQL ServerkeineAzure SQL-DatenbankkeineAzure SQL Data Warehouse keine Parallel DatawarehouseTHIS TOPIC APPLIES TO: yesSQL ServernoAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse

Der Replikationsprotokolllese-Agent ist eine ausführbare Datei, die das Transaktionsprotokoll jeder für die Transaktionsreplikation konfigurierten Datenbank überwacht und die für die Replikation markierten Transaktionen aus dem Transaktionsprotokoll in die Verteilungsdatenbank kopiert.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.

Hinweis

Parameter können in beliebiger Reihenfolge angegeben werden.Parameters can be specified in any order. Wenn keine optionalen Parameter angegeben werden, werden vordefinierte Werte auf Grundlage des Standardagentprofils verwendet.When optional parameters are not specified, predefined values based on the default agent profile are used.

SyntaxSyntax


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]  

ArgumenteArguments

-?-?
Zeigt Informationen zur Verwendung an.Displays usage information.

-Publisher Servername[\Instanzname]-Publisher server_name[\instance_name]
Der Name des Verlegers.Is the name of the Publisher. Geben Sie server_name für die Standardinstanz von MicrosoftMicrosoft SQL ServerSQL Server auf diesem Server an.Specify server_name for the default instance of MicrosoftMicrosoft SQL ServerSQL Server on that server. Geben Sie server_name\instance_name für eine benannte Instanz von SQL ServerSQL Server auf diesem Server an.Specify server_name\instance_name for a named instance of SQL ServerSQL Server on that server.

-PublisherDB publisher_database-PublisherDB publisher_database
Der Name der Verlegerdatenbank.Is the name of the Publisher database.

-Continuous-Continuous
Gibt an, ob der Agent fortlaufend versucht, replizierte Transaktionen abzurufen.Specifies whether the agent tries to poll replicated transactions continually. Wenn dieses Argument angegeben ist, ruft der Agent replizierte Transaktionen in festgelegten Abrufintervallen aus der Quelle ab, selbst wenn keine ausstehenden Transaktionen vorhanden sind.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
Der Pfad der Agentdefinitionsdatei.Is the path of the agent definition file. Eine Agentdefinitionsdatei enthält Befehlszeilenargumente für den Agent.An agent definition file contains command-line arguments for the agent. Der Inhalt der Datei wird als ausführbare Datei analysiert.The content of the file is parsed as an executable file. Verwenden Sie doppelte Anführungszeichen ("), um Argumentwerte anzugeben, die beliebige Zeichen enthalten.Use double quotation marks (") to specify argument values that contain arbitrary characters.

-Distributor Servername[\Instanzname]-Distributor server_name[\instance_name]
Der Name des Verteilers.Is the Distributor name. Geben Sie server_name für die Standardinstanz von SQL ServerSQL Server auf diesem Server an.Specify server_name for the default instance of SQL ServerSQL Server on that server. Geben Sie server_name\instance_name für eine benannte Instanz von SQL ServerSQL Server auf diesem Server an.Specify server_name\instance_name for a named instance of SQL ServerSQL Server on that server.

-DistributorLogin distributor_login-DistributorLogin distributor_login
Der Anmeldename des Verteilers.Is the Distributor login name.

-DistributorPassword distributor_password-DistributorPassword distributor_password
Das Verteilerkennwort.Is the Distributor password.

-DistributorSecurityMode [ 0| 1]-DistributorSecurityMode [ 0| 1]
Gibt den Sicherheitsmodus des Verteilers an.Specifies the security mode of the Distributor. Der Wert 0 steht für den SQL ServerSQL Server -Authentifizierungsmodus (Standard), der Wert 1 für den MicrosoftMicrosoft Windows-Authentifizierungsmodus.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 ]
Die Ebene der SSL-Verschlüsselung (Secure Sockets Layer), die vom Protokolllese-Agent beim Herstellen von Verbindungen verwendet wird.Is the level of Secure Sockets Layer (SSL) encryption that is used by the Log Reader Agent when making connections.

Wert von EncryptionLevelEncryptionLevel value DescriptionDescription
00 Gibt an, dass SSL nicht verwendet wird.Specifies that SSL is not used.
11 Gibt an, dass SSL verwendet wird, der Agent jedoch nicht überprüft, ob das SSL-Serverzertifikat von einem vertrauenswürdigen Aussteller signiert wurde.Specifies that SSL is used, but the agent does not verify that the SSL server certificate is signed by a trusted issuer.
22 Gibt an, dass SSL verwendet und das Zertifikat überprüft wird.Specifies that SSL is used, and that the certificate is verified.

Weitere Informationen finden Sie unter Sicherheitsübersicht (Replikation).For more information, see Security Overview (Replication).

-ExtendedEventConfigFile configuration_path_and_file_name-ExtendedEventConfigFile configuration_path_and_file_name
Gibt den Pfad und den Dateinamen für die erweiterte Ereignis-XML-Konfigurationsdatei an.Specifies the path and file name for the extended events XML configuration file. Die erweiterten Ereignis-Konfigurationsdatei ermöglicht das Konfigurieren von Sitzungen und das Aktivieren der Nachverfolgung für Ereignisse.The extended events configuration file allows you to configure sessions and enable events for tracking.

-HistoryVerboseLevel [ 0| 1| 2]-HistoryVerboseLevel [ 0| 1| 2]
Gibt den Umfang des Verlaufs an, der während eines Vorgangs des Protokolllese-Agents protokolliert wird.Specifies the amount of history logged during a log reader operation. Sie können die negativen Auswirkungen der Verlaufsprotokollierung auf die Leistung minimieren, indem Sie den Wert 1auswählen.You can minimize the performance effect of history logging by selecting 1.

Wert von HistoryVerboseLevelHistoryVerboseLevel value DescriptionDescription
00
11 Standard.Default. Aktualisieren Sie immer eine vorherige Verlaufsmeldung mit dem gleichen Status (Start, Status, Erfolg usw.).Always update a previous history message of the same status (startup, progress, success, and so on). Wenn kein vorheriger Datensatz mit dem gleichen Status vorhanden ist, fügen Sie einen neuen Datensatz ein.If no previous record with the same status exists, insert a new record.
22 Fügen Sie neue Verlaufsdatensätze ein, es sei denn, der Datensatz bezieht sich z. B. auf Leerlaufmeldungen oder Meldungen zu Aufträgen mit langer Ausführungszeit. In diesen Fällen aktualisieren Sie die vorherigen Datensätze.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
Die Anzahl von Sekunden, bevor vom Verlaufsthread geprüft wird, ob bestehende Verbindungen auf eine Antwort vom Server warten.Is the number of seconds before the history thread checks if any of the existing connections is waiting for a response from the server. Dieser Wert kann verringert werden, damit der Protokolllese-Agent vom Überprüfungs-Agent nicht als fehlerverdächtig markiert wird, wenn ein lang andauernder Batch ausgeführt wird.This value can be decreased to avoid having the checkup agent mark the Log Reader Agent as suspect when executing a long-running batch. Der Standardwert ist 300 Sekunden.The default is 300 seconds.

-LoginTimeOut login_time_out_seconds-LoginTimeOut login_time_out_seconds
Die Anzahl von Sekunden, nach denen ein Timeout bei der Anmeldung eintritt. Der Standardwert ist 15 Sekunden.Is the number of seconds before the login times out. The default is 15 seconds.

-LogScanThreshold scan_threshold-LogScanThreshold scan_threshold
Nur interne Verwendung.Internal use only.

-MaxCmdsInTran number_of_commands-MaxCmdsInTran number_of_commands
Gibt die maximale Anzahl von Anweisungen an, die in einer Transaktion zusammengefasst werden, wenn der Protokolllese-Agent Befehle in die Verteilungsdatenbank schreibt.Specifies the maximum number of statements grouped into a transaction as the Log Reader writes commands to the distribution database. Mithilfe dieses Parameters können der Protokolllese-Agent und der Verteilungs-Agent beim Anwenden auf dem Abonnenten umfangreiche Transaktionen (die aus zahlreichen Befehlen bestehen) auf dem Verleger in mehrere kleinere Transaktionen aufteilen.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. Durch die Angabe dieses Parameters kommt es auf dem Verteiler möglicherweise zu weniger Konflikten, und die Latenzzeit zwischen Verleger und Abonnent kann reduziert werden.Specifying this parameter can reduce contention at the Distributor and reduce latency between the Publisher and Subscriber. Da die ursprüngliche Transaktion in kleineren Einheiten angewendet wird, kann der Abonnent vor Ende der ursprünglichen Transaktion auf Zeilen einer umfangreichen logischen Verleger-Transaktion zugreifen; dies widerspricht der strikten Unteilbarkeit von Transaktionen.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. 0ist der Standardwert, durch den die Transaktionsgrenzen des Verlegers beibehalten werden.The default is 0, which preserves the transaction boundaries of the Publisher.

Hinweis

Für Nicht- SQL ServerSQL Server -Veröffentlichungen wird dieser Parameter ignoriert.This parameter is ignored for non- SQL ServerSQL Server publications. Weitere Informationen finden Sie im Abschnitt "Konfigurieren des Transaktionssatz-Auftrags" unter Performance Tuning for Oracle Publishers.For more information, see the section "Configuring the Transaction Set Job" in Performance Tuning for Oracle Publishers.

-MessageInterval Meldungsintervall-MessageInterval message_interval
Das für die Verlaufsprotokollierung verwendete Zeitintervall.Is the time interval used for history logging. Wenn nach der Protokollierung des letzten Verlaufsereignisses der Wert von MessageInterval erreicht wird, wird erneut ein Verlaufsereignis protokolliert.A history event is logged when the MessageInterval value is reached after the last history event is logged.

Wenn an der Quelle keine replizierte Transaktion vorhanden ist, sendet der Agent eine entsprechende Meldung an den Verteiler.If there is no replicated transaction available at the source, the agent reports a no-transaction message to the Distributor. Mit dieser Option wird angegeben, wie lange der Agent wartet, bevor eine weitere Meldung gesendet wird, dass keine Transaktion vorhanden ist.This option specifies how long the agent waits before reporting another no-transaction message. Agents melden immer, dass keine Transaktion vorhanden ist, wenn sie feststellen, dass an der Quelle keine Transaktionen verfügbar sind, nachdem zuvor replizierte Transaktionen verarbeitet wurden.Agents always report a no-transaction message when they detect that there are no transactions available at the source after previously processing replicated transactions. Der Standardwert ist 60 Sekunden.The default is 60 seconds.

-Output output_path_and_file_name-Output output_path_and_file_name
Der Pfad der Agentausgabedatei.Is the path of the agent output file. Wenn kein Dateiname angegeben ist, wird die Ausgabe an die Konsole gesendet.If the file name is not provided, the output is sent to the console. Wenn eine Datei mit dem angegebenen Namen vorhanden ist, wird die Ausgabe an diese Datei angefügt.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 ]
Gibt an, ob die Ausgabe ausführlich sein soll.Specifies whether the output should be verbose.

valueValue DescriptionDescription
00 Nur Fehlermeldungen werden gedruckt.Only error messages are printed.
11 Alle Agent-Statusberichtsmeldungen werden gedruckt.All agent progress report messages are printed.
2 (Standardwert)2 (default) Alle Fehlermeldungen und Agent-Statusberichtsmeldungen werden gedruckt.All error messages and agent progress report messages are printed.
33 Die ersten 100 Bytes jedes replizierten Befehls werden gedruckt.The first 100 bytes of each replicated command are printed.
44 Alle replizierten Befehle werden gedruckt.All replicated commands are printed.

Die Werte 2-4 sind beim Debuggen hilfreich.Values 2-4 are useful when debugging.

-PacketSize packet_size-PacketSize packet_size
Die Paketgröße in Bytes.Is the packet size, in bytes. Der Standardwert ist 4096 (Bytes).The default is 4096 (bytes).

-PollingInterval polling_interval-PollingInterval polling_interval
Gibt an, wie häufig replizierte Transaktionen aus dem Protokoll abgefragt werden (in Sekunden).Is how often, in seconds, the log is queried for replicated transactions. Die Standardeinstellung ist 5 Sekunden.The default is 5 seconds.

-ProfileName profile_name-ProfileName profile_name
Gibt ein Agentprofil an, das für Agentparameter verwendet werden soll.Specifies an agent profile to use for agent parameters. Wenn ProfileName den Wert NULL aufweist, wird das Agentprofil deaktiviert.If ProfileName is NULL, the agent profile is disabled. Wenn ProfileName nicht angegeben ist, wird das Standardprofil für den Agenttyp verwendet.If ProfileName is not specified, the default profile for the agent type is used. Weitere Informationen finden Sie unter Replication Agent Profiles.For information, see Replication Agent Profiles.

-PublisherFailoverPartner Servername[\Instanzname]-PublisherFailoverPartner server_name[\instance_name]
Gibt die Failoverpartnerinstanz von SQL ServerSQL Server an, die an einer Datenbank-Spiegelungssitzung mit der Veröffentlichungsdatenbank teilnimmt.Specifies the failover partner instance of SQL ServerSQL Server participating in a database mirroring session with the publication database. Weitere Informationen finden Sie unter Datenbankspiegelung und Replikation (SQL Server).For more information, see Database Mirroring and Replication (SQL Server).

-PublisherSecurityMode [ 0| 1]-PublisherSecurityMode [ 0| 1]
Gibt den Sicherheitsmodus des Verlegers an.Specifies the security mode of the Publisher. Der Wert 0 steht für die SQL ServerSQL Server -Authentifizierung (Standard), der Wert 1 für den Windows-Authentifizierungsmodus.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
Der Anmeldename des Verlegers.Is the Publisher login name.

-PublisherPassword publisher_password-PublisherPassword publisher_password
Das Kennwort des Verlegers.Is the Publisher password.

-QueryTimeOut query_time_out_seconds-QueryTimeOut query_time_out_seconds
Die Anzahl von Sekunden, nach denen ein Timeout bei der Abfrage eintritt. Die Standardeinstellung ist 1800 Sekunden.Is the number of seconds before the query times out. The default is 1800 seconds.

-ReadBatchSize number_of_transactions-ReadBatchSize number_of_transactions
Die maximale Anzahl von Transaktionen, die pro Verarbeitungszyklus aus dem Transaktionsprotokoll der Veröffentlichungsdatenbank ausgelesen werden. Der Standardwert lautet 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. Der Agent setzt das Lesen von Transaktionen in Batches fort, bis alle Transaktionen aus dem Protokoll gelesen wurden.The agent will continue to read transactions in batches until all transactions are read from the log. Der Parameter wird von Oracle-Verlegern nicht unterstützt.This parameter is not supported for Oracle Publishers.

-ReadBatchThreshold number_of_commands-ReadBatchThreshold number_of_commands
Die Anzahl von Replikationsbefehlen, die aus dem Transaktionsprotokoll gelesen werden sollen, bevor sie vom Verteilungs-Agent an den Abonnenten ausgegeben werden.Is the number of replication commands to be read from the transaction log before being issued to the Subscriber by the Distribution Agent. Die Standardeinstellung ist 0.The default is 0. Wenn dieser Parameter nicht angegeben wird, liest der Protokolllese-Agent bis zum Ende des Protokolls oder bis zu der Nummer, die in -ReadBatchSize (Anzahl von Transaktionen) angegeben wurde.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
Gibt an, dass der Protokolllese-Agent weiter ausgeführt wird, wenn in Spaltendaten, die von einem Nicht-SQL Server-Verleger veröffentlicht wurden, Fehler auftreten.Specifies that the Log Reader Agent continue to run when it encounters errors in column data published from a non-SQL Server Publisher. Standardmäßig bewirken solche Fehler, dass der Protokolllese-Agent fehlschlägt.By default, such errors cause the Log Reader Agent to fail. Bei Verwendung von -RecoverFromDataErrorswerden fehlerhafte Spaltendaten entweder als NULL oder als geeigneter Nicht-NULL-Wert repliziert, und in der MSlogreader_history -Tabelle werden Warnmeldungen protokolliert.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. Der Parameter wird nur von Oracle-Verlegern unterstützt.This parameter is only supported for Oracle Publishers.

RemarksRemarks

Wichtig

Wenn Sie den SQL ServerSQL Server -Agent so installiert haben, dass er unter einem lokalen Systemkonto und nicht unter einem Domänenbenutzerkonto (Standard) ausgeführt wird, kann der Dienst nur auf den lokalen Computer zugreifen.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. Wenn der Protokolllese-Agent, der unter dem SQL ServerSQL Server -Agent ausgeführt wird, so konfiguriert ist, dass beim Anmelden bei SQL ServerSQL Serverder Windows-Authentifizierungsmodus verwendet wird, schlägt der Protokolllese-Agent fehl.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. Die Standardeinstellung ist die SQL ServerSQL Server -Authentifizierung.The default setting is SQL ServerSQL Server Authentication. Weitere Informationen zum Ändern von Sicherheitskonten finden Sie unter View and Modify Replication Security Settings.For information about changing security accounts, see View and Modify Replication Security Settings.

Führen Sie zum Starten des Protokolllese-Agents von der Eingabeaufforderung logread.exe aus.To start the Log Reader Agent, execute logread.exe from the command prompt. Informationen hierzu finden Sie unter Ausführbare Konzepte für die Programmierung von Replikations-Agents.For information, see Replication Agent Executables Concepts.

ÄnderungsverlaufChange History

Aktualisierter InhaltUpdated content
Der -ExtendedEventConfigFile -Parameter wurde hinzugefügt.Added the -ExtendedEventConfigFile parameter.

Weitere Informationen finden Sie unterSee Also

Replikations-Agent-VerwaltungReplication Agent Administration