Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op:SQL Server
Azure SQL Managed Instance
De replicatielogboeklezeragent is een uitvoerbaar bestand dat het transactielogboek bewaakt van elke database die is geconfigureerd voor transactionele replicatie en de transacties kopieert die zijn gemarkeerd voor replicatie vanuit het transactielogboek naar de distributiedatabase.
Opmerking
Parameters kunnen in elke volgorde worden opgegeven. Wanneer optionele parameters niet worden opgegeven, worden vooraf gedefinieerde waarden op basis van het standaardagentprofiel gebruikt.
Syntaxis
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 | 3 | 4 ] ]
[ -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 ]
[ -MultiSubnetFailover [ 0 | 1 ] ]
[ -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 ]
Argumenten
-?
Geeft gebruiksgegevens weer.
-Publisher server_name [ \instance_name ]
De naam van de uitgever. Geef op voor het standaardexemplaren <server_name> van SQL Server op die server. Geef <server_name>\<instance_name> op die server een benoemd exemplaar van SQL Server op.
- PublisherDB-publisher_database
De naam van de Publisher-database.
-Continu
Hiermee geeft u op of de agent gerepliceerde transacties voortdurend probeert te peilen. Indien opgegeven, pollt de agent gerepliceerde transacties van de bron met polling-intervallen, zelfs als er geen transacties in behandeling zijn.
-DefinitionFile def_path_and_file_name
Het pad van het definitiebestand van de agent. Een agentdefinitiebestand bevat opdrachtregelargumenten voor de agent. De inhoud van het bestand wordt geparseerd als een uitvoerbaar bestand. Gebruik dubbele aanhalingstekens (") om argumentwaarden op te geven die willekeurige tekens bevatten.
-Distributor server_name [ \instance_name ]
De naam van de distributeur. Geef op voor het standaardexemplaren <server_name> van SQL Server op die server. Geef <server_name>\<instance_name> op die server een benoemd exemplaar van SQL Server op.
-DistributorLogin distributor_login
De aanmeldingsnaam van de distributeur.
-DistributorPassword distributor_password
Het wachtwoord van de distributeur.
-DistributorSecurityMode [ 0 | 1 ]
Hiermee geeft u de beveiligingsmodus van de distributeur. Een waarde van 0 geeft de SQL Server-verificatiemodus (standaard) aan en een waarde van 1 geeft de Windows-verificatiemodus aan.
-EncryptionLevel [ 0 | 1 | 2 | 3 | 4 ]
Het niveau van Transport Layer Security (TLS), voorheen bekend als SSL (Secure Sockets Layer), versleuteling die wordt gebruikt door de Log Reader-agent bij het maken van verbindingen.
| EncryptionLevel-waarde | Beschrijving |
|---|---|
0 |
Hiermee geeft u op dat TLS niet wordt gebruikt. |
1 |
Hiermee geeft u op dat TLS 1.2 wordt gebruikt, maar de agent controleert niet of het TLS-servercertificaat is ondertekend door een vertrouwde verlener. |
2 |
Hiermee geeft u op dat TLS 1.2 wordt gebruikt en dat het certificaat is geverifieerd. |
3 |
Hiermee geeft u op dat voor verbindingen van Azure SQL Managed Instance of SQL Server 2025 en latere versies naar Azure SQL Managed Instance TLS 1.3 wordt gebruikt en het certificaat wordt geverifieerd. Voor verbindingen met SQL Server (elke ondersteunde versie) wordt TLS 1.3 niet afgedwongen met de optie 3. |
4 |
Hiermee geeft u op dat voor verbindingen van Azure SQL Managed Instance of SQL Server 2025 en latere versies naar Azure SQL Managed Instance TLS 1.3 wordt gebruikt en het certificaat wordt geverifieerd. Voor verbindingen van Azure SQL Managed Instance of SQL Server 2025 en latere versies naar SQL Server (elke ondersteunde versie), wordt TLS 1.3 gebruikt en wordt het certificaat geverifieerd. Vereist het installeren van het certificaat op SQL Server-hosts die verbindingen ontvangen met EncryptionLevel ingesteld op 4. |
Opmerking
Voor replicatietopologieën met een externe distributeur:
Er wordt een geldig TLS/SSL-certificaat gedefinieerd met een volledig gekwalificeerde domeinnaam van de SQL Server. Als u wilt dat de agent verbinding maakt wanneer u deze instelt -EncryptionLevel2, maakt u een alias op de lokale SQL Server. De parameter Alias name moet de servernaam zijn en de parameter Server moet worden ingesteld op de volledig gekwalificeerde naam van de SQL Server.
Zie Beveiligingsinstellingen voor replicatie weergeven en wijzigen voor meer informatie.
-ExtendedEventConfigFile configuration_path_and_file_name
Hiermee geeft u het pad en de bestandsnaam voor het XML-configuratiebestand voor uitgebreide gebeurtenissen. Met het configuratiebestand voor uitgebreide gebeurtenissen kunt u sessies configureren en gebeurtenissen inschakelen voor het bijhouden. Alleen intern gebruik.
-HistoryVerboseLevel [ 0 | 1 | 2 ]
Hiermee geeft u de hoeveelheid geschiedenis die is geregistreerd tijdens een logboeklezerbewerking. U kunt het prestatie-effect van geschiedenislogboekregistratie minimaliseren door te 1selecteren.
| HistoryVerboseLevel-waarde | Beschrijving |
|---|---|
0 |
Geen. |
1 (standaard) |
Werk altijd een vorige geschiedenisbericht van dezelfde status bij (opstarten, voortgang, succes, enzovoort). Als er geen vorige record met dezelfde status bestaat, voegt u een nieuwe record in. |
2 |
Voeg nieuwe geschiedenisrecords in, tenzij de record bedoeld is voor bijvoorbeeld niet-actieve berichten of langlopende taakberichten. In dat geval worden de vorige records bijgewerkt. |
-KeepAliveMessageInterval keep_alive_message_interval_seconds
Het aantal seconden voordat de geschiedenisthread controleert of een van de bestaande verbindingen wacht op een reactie van de server. Deze waarde kan worden verlaagd om te voorkomen dat de controleagent de logboeklezeragent markeert als verdacht bij het uitvoeren van een langlopende batch. De standaardwaarde is 300 seconden.
- LoginTimeOut-login_time_out_seconds
Het aantal seconden voordat er een time-out optreedt voor de aanmelding. De standaardwaarde is 15 seconden.
-LogScanThreshold-scan_threshold
Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
-MaxCmdsInTran number_of_commands
Hiermee geeft u het maximum aantal instructies gegroepeerd in een transactie als de logboeklezer opdrachten schrijft naar de distributiedatabase. Met deze parameter kan de Log Reader-agent en distributieagent grote transacties (bestaande uit veel opdrachten) bij Publisher verdelen in verschillende kleinere transacties wanneer deze worden toegepast op de abonnee. Als u deze parameter opgeeft, kunt u conflicten bij de distributeur verminderen en de latentie tussen publisher en abonnee verminderen. Omdat de oorspronkelijke transactie wordt toegepast in kleinere eenheden, heeft de abonnee toegang tot rijen van een grote logische Publisher-transactie vóór het einde van de oorspronkelijke transactie, wat strikte transactionele atomiciteit veroorzaakt. De standaardwaarde is 0, waardoor de transactiegrenzen van publisher behouden blijven.
Deze parameter wordt genegeerd voor niet-SQL Server-publicaties. Zie De transactiesettaak configureren voor meer informatie.
MaxCmdsInTran was niet ontworpen om altijd ingeschakeld te worden. Het werkt rond gevallen waarin iemand per ongeluk een groot aantal DML-bewerkingen in één transactie heeft uitgevoerd. Dit veroorzaakt een vertraging in de distributie van opdrachten, totdat de hele transactie zich in de distributiedatabase bevindt, vergrendelingen worden bewaard, enzovoort. Als u regelmatig in deze situatie valt, controleert u uw toepassingen en zoekt u manieren om de transactiegrootte te verkleinen.
Waarschuwing
Fouten met de primaire sleutel kunnen optreden als de MaxCmdsInTran parameter wordt toegevoegd en verwijderd tijdens het repliceren van een grote transactie. Als u primaire-sleutelfouten voor grote transacties wilt oplossen, voegt u de MaxCmdsInTran parameter terug totdat de transactie wordt gerepliceerd naar de distributiedatabase.
Het gebruik van de MaxCmdsInTran parameter voor een database waarvoor zowel Change Data Capture (CDC) als replicatie is ingeschakeld, wordt niet ondersteund en kan leiden tot gegevensverlies in de CDC-wijzigingstabellen.
- MessageInterval-message_interval
Het tijdsinterval dat wordt gebruikt voor geschiedenislogboekregistratie. Er wordt een geschiedenisgebeurtenis geregistreerd wanneer de MessageInterval waarde wordt bereikt nadat de laatste geschiedenisgebeurtenis is vastgelegd.
Als er geen gerepliceerde transactie beschikbaar is bij de bron, meldt de agent een bericht zonder transactie aan de distributeur. Met deze optie geeft u op hoe lang de agent wacht voordat een ander bericht zonder transactie wordt gerapporteerd. Agents melden altijd een bericht zonder transactie wanneer ze detecteren dat er geen transacties beschikbaar zijn bij de bron nadat ze eerder gerepliceerde transacties hebben verwerkt. De standaardwaarde is 60 seconden.
-MultiSubnetFailover [ 0 | 1 ]
van toepassing op: SQL Server 2019 (15.x) en latere versies.
Hiermee geeft u op of de eigenschap MultiSubnetFailover is ingeschakeld of niet. Als uw toepassing verbinding maakt met een AlwaysOn-beschikbaarheidsgroep (AG) op verschillende subnetten, biedt het instellen van MultiSubnetFailover op 1 (true) een snellere detectie en verbinding met de (momenteel) actieve server.
Wanneer u een transactionele publicatie op een beschikbaarheidsgroep configureert, maakt de logboeklezeragent een dynamische gekoppelde server voor de listener om de metagegevens te verifiëren. In SQL Server 2022 (16.x) CU 10 en hoger is er een wijziging in de configuratie van de dynamische gekoppelde server. Zie KB5031778 voor meer informatie.
-Uitvoer output_path_and_file_name
Het pad van het uitvoerbestand van de agent. Als de bestandsnaam niet is opgegeven, wordt de uitvoer verzonden naar de console. Als de opgegeven bestandsnaam bestaat, wordt de uitvoer toegevoegd aan het bestand.
-OutputVerboseLevel [ 0 | 1 | 2 | 3 | 4 ]
Hiermee geeft u op of de uitvoer uitgebreid moet zijn.
| Waarde | Beschrijving |
|---|---|
0 |
Alleen foutberichten worden afgedrukt. |
1 |
Alle voortgangsrapportberichten van de agent worden afgedrukt. |
2 (standaard) |
Alle foutberichten en voortgangsrapportberichten van de agent worden afgedrukt. |
3 |
De eerste 100 bytes van elke gerepliceerde opdracht worden afgedrukt. |
4 |
Alle gerepliceerde opdrachten worden afgedrukt. |
Waarden 2-4 zijn nuttig bij foutopsporing.
-PacketSize packet_size
De pakketgrootte, in bytes. De standaardwaarde is 4096 (bytes).
-PollingInterval polling_interval
Hoe vaak, in seconden, het logboek wordt opgevraagd voor gerepliceerde transacties. De standaardwaarde is 5 seconden.
-ProfileName profile_name
Hiermee geeft u een agentprofiel op dat moet worden gebruikt voor agentparameters. Als ProfileName dat het is NULL, is het agentprofiel uitgeschakeld. Als ProfileName dit niet is opgegeven, wordt het standaardprofiel voor het agenttype gebruikt. Zie Replicatieagentprofielen voor meer informatie.
-PublisherFailoverPartner server_name [ \instance_name ]
Hiermee geeft u het exemplaar van de failoverpartner van SQL Server dat deelneemt aan een databasespiegelingssessie met de publicatiedatabase. Zie databasespiegeling en replicatie (SQL Server) voor meer informatie.
-PublisherSecurityMode [ 0 | 1 ]
Hiermee geeft u de beveiligingsmodus van publisher. Een waarde van 0 geeft SQL Server-verificatie aan (standaard) en een waarde van 1 geeft de Windows-verificatiemodus aan.
- PublisherLogin-publisher_login
De aanmeldingsnaam van Publisher.
- PublisherPassword-publisher_password
Het wachtwoord van Publisher.
- QueryTimeOut-query_time_out_seconds
Het aantal seconden voordat er een time-out optreedt voor de query. De standaardwaarde is 1800 seconden.
-ReadBatchSize number_of_transactions
Het maximum aantal transacties dat uit het transactielogboek van de publicatiedatabase per verwerkingscyclus wordt gelezen, met een standaardwaarde van 500 en maximaal 10000. De agent blijft transacties in batches lezen totdat alle transacties uit het logboek worden gelezen. Deze parameter wordt niet ondersteund voor Oracle Publishers.
-ReadBatchThreshold number_of_commands
Het aantal replicatieopdrachten dat moet worden gelezen uit het transactielogboek voordat deze door de distributieagent aan de abonnee wordt uitgegeven. De standaardwaarde is 0. Als deze parameter niet is opgegeven, leest de logboeklezeragent naar het einde van het logboek of naar het nummer dat is opgegeven in -ReadBatchSize (aantal transacties).
-RecoverFromDataErrors
Hiermee geeft u op dat de logboeklezeragent blijft worden uitgevoerd wanneer er fouten optreden in kolomgegevens die zijn gepubliceerd vanuit een niet-SQL Server Publisher. Dergelijke fouten veroorzaken standaard dat de logboeklezeragent mislukt. Wanneer u gegevens gebruikt -RecoverFromDataErrors, worden onjuiste kolomgegevens gerepliceerd als NULL of een geschikte niet-null-waarde en worden waarschuwingsberichten vastgelegd in de MSlogreader_history tabel. Deze parameter wordt alleen ondersteund voor Oracle Publishers.
Opmerkingen
Als u SQL Server Agent hebt geïnstalleerd om te worden uitgevoerd onder een lokaal systeemaccount in plaats van onder een domeingebruikersaccount (de standaardinstelling), heeft de service alleen toegang tot de lokale computer. Als de logboeklezeragent die wordt uitgevoerd onder SQL Server Agent is geconfigureerd voor het gebruik van de Windows-verificatiemodus wanneer deze zich aanmeldt bij SQL Server, mislukt de logboeklezeragent. De standaardinstelling is SQL Server-verificatie. Zie Beveiligingsinstellingen voor replicatie weergeven en wijzigen voor informatie over het wijzigen van beveiligingsaccounts.
Als u de logboeklezeragent wilt starten, voert u deze uit logread.exe vanaf de opdrachtprompt. Zie Concepten voor uitvoerbare replicatieagents voor meer informatie.