Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
              gäller för:SQL Server
Azure SQL Managed Instance
Replication Log Reader Agent är en körbar fil som övervakar transaktionsloggen för varje databas som konfigurerats för transaktionsreplikering och kopierar de transaktioner som har markerats för replikering från transaktionsloggen till distributionsdatabasen.
Anmärkning
Parametrar kan anges i valfri ordning. När valfria parametrar inte anges används fördefinierade värden baserat på standardagentprofilen.
Syntax
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 ]
Argumentpunkter
-?
Visar användningsinformation.
-Publisher server_name [ \instance_name ]
Namnet på utgivaren. Ange <server_name> för standardinstansen av SQL Server på servern. Ange <server_name>\<instance_name> för en namngiven instans av SQL Server på servern.
-PublisherDB publisher_database
Namnet på Publisher-databasen.
-Kontinuerlig
Anger om agenten försöker avsöka replikerade transaktioner kontinuerligt. Om det anges replikerade agenten transaktioner från källan med avsökningsintervall även om det inte finns några väntande transaktioner.
-DefinitionFile def_path_and_file_name
Sökvägen till agentdefinitionsfilen. En agentdefinitionsfil innehåller kommandoradsargument för agenten. Innehållet i filen tolkas som en körbar fil. Använd dubbla citattecken (") för att ange argumentvärden som innehåller godtyckliga tecken.
-Distributör server_name [ \instance_name ]
Distributörens namn. Ange <server_name> för standardinstansen av SQL Server på servern. Ange <server_name>\<instance_name> för en namngiven instans av SQL Server på servern.
-DistributorLogin distributor_login
Distributörens inloggningsnamn.
-DistributorPassword distributor_password
Distributörens lösenord.
-DistributorSecurityMode [ 0 | 1 ]
Anger distributörens säkerhetsläge. Värdet 0 anger SQL Server-autentiseringsläge (standard) och värdet 1 anger Windows-autentiseringsläge.
-EncryptionLevel [ 0 | 1 | 2 | 3 | 4 ]
Nivån för TLS (Transport Layer Security), tidigare känd som Secure Sockets Layer (SSL), kryptering som används av Log Reader Agent vid anslutning.
| EncryptionLevel-värde | Beskrivning | 
|---|---|
| 0 | Anger att TLS inte används. | 
| 1 | Anger att TLS 1.2 används, men agenten verifierar inte att TLS-servercertifikatet är signerat av en betrodd utfärdare. | 
| 2 | Anger att TLS 1.2 används och att certifikatet har verifierats. | 
| 3 | Anger att för anslutningar från Azure SQL Managed Instance eller SQL Server 2025 och senare versioner till Azure SQL Managed Instance används TLS 1.3 och certifikatet verifieras. För anslutningar till SQL Server (valfri version som stöds) tillämpas inte TLS 1.3 med alternativet 3. | 
| 4 | Anger att för anslutningar från Azure SQL Managed Instance eller SQL Server 2025 och senare versioner till Azure SQL Managed Instance används TLS 1.3 och certifikatet verifieras. För anslutningar från Azure SQL Managed Instance eller SQL Server 2025 och senare versioner, till SQL Server (valfri version som stöds), används TLS 1.3 och certifikatet verifieras. Kräver att certifikatet installeras på SQL Server-värdar som tar emot anslutningar med EncryptionLevelinställt på4. | 
Anmärkning
För replikeringstopologier med en fjärrdistributör:
Ett giltigt TLS/SSL-certifikat definieras med ett fullständigt kvalificerat domännamn för SQL Server. För att agenten ska kunna ansluta när du anger -EncryptionLevel till 2skapar du ett alias på den lokala SQL Server. Parametern Aliasnamn ska vara servernamnet och parametern "Server" ska anges till det fullständigt kvalificerade namnet på SQL Server.
Mer information finns i Visa och ändra säkerhetsinställningar för replikering.
-ExtendedEventConfigFile configuration_path_and_file_name
Anger sökvägen och filnamnet för XML-konfigurationsfilen för utökade händelser. Med konfigurationsfilen för utökade händelser kan du konfigurera sessioner och aktivera händelser för spårning. Endast intern användning.
-HistoryVerboseLevel [ 0 | 1 | 2 ]
Anger hur mycket historik som loggades under en loggläsaråtgärd. Du kan minimera prestandaeffekten för historikloggning genom att 1välja .
| HistoryVerboseLevel-värde | Beskrivning | 
|---|---|
| 0 | Ingen. | 
| 1(standardinställning) | Uppdatera alltid ett tidigare historikmeddelande med samma status (start, förlopp, framgång och så vidare). Om det inte finns någon tidigare post med samma status infogar du en ny post. | 
| 2 | Infoga nya historikposter om inte posten är till för t.ex. inaktiva meddelanden eller långvariga jobbmeddelanden, i vilket fall uppdatera de tidigare posterna. | 
-KeepAliveMessageInterval keep_alive_message_interval_seconds
Antalet sekunder innan historiktråden kontrollerar om någon av de befintliga anslutningarna väntar på ett svar från servern. Det här värdet kan minskas för att undvika att bockagenten markerar log reader-agenten som misstänkt när en långvarig batch körs. Standardvärdet är 300 sekunder.
-LoginTimeOut login_time_out_seconds
Antalet sekunder innan inloggningen överskrider tidsgränsen. Standardvärdet är 15 sekunder.
-LogScanThreshold scan_threshold
Identifieras endast i informationssyfte. Stöds inte. Framtida kompatibilitet garanteras inte.
-MaxCmdsInTran number_of_commands
Anger det maximala antalet instruktioner grupperade i en transaktion när Log Reader skriver kommandon till distributionsdatabasen. Med den här parametern kan Log Reader Agent och Distribution Agent dela upp stora transaktioner (bestående av många kommandon) i Publisher i flera mindre transaktioner när de tillämpas hos prenumeranten. Om du anger den här parametern kan du minska konkurrensen hos distributören och minska svarstiden mellan utgivaren och prenumeranten. Eftersom den ursprungliga transaktionen tillämpas i mindre enheter kan prenumeranten komma åt rader i en stor logisk Publisher-transaktion före slutet av den ursprungliga transaktionen, vilket bryter mot strikt transaktionell atomitet. Standardvärdet är 0, som bevarar transaktionsgränserna för Publisher.
Den här parametern ignoreras för icke-SQL Server-publikationer. Mer information finns i Konfigurera transaktionsuppsättningsjobbet.
              MaxCmdsInTran har inte utformats för att alltid vara aktiverat. Det fungerar i fall där någon av misstag utförde ett stort antal DML-åtgärder i en enda transaktion. Detta orsakar en fördröjning i fördelningen av kommandon, tills hela transaktionen finns i distributionsdatabasen, lås som hålls osv. Om du rutinmässigt hamnar i den här situationen kan du granska dina program och hitta sätt att minska transaktionsstorleken.
Varning
Primärnyckelfel kan inträffa om parametern MaxCmdsInTran läggs till och tas bort vid replikering av en stor transaktion. Lös primärnyckelfel vid stora transaktioner genom att lägga till parametern MaxCmdsInTran tills transaktionen replikeras till distributionsdatabasen.
Användning av parametern MaxCmdsInTran i en databas som har både CDC (Change Data Capture) och replikering aktiverad stöds inte och kan leda till dataförlust i CDC-ändringstabellerna.
-MessageInterval message_interval
Tidsintervallet som används för historikloggning. En historikhändelse loggas när MessageInterval värdet nås efter att den senaste historikhändelsen har loggats.
Om det inte finns någon replikerad transaktion tillgänglig vid källan rapporterar agenten ett meddelande utan transaktion till distributören. Det här alternativet anger hur länge agenten väntar innan ett annat meddelande om att ingen transaktion rapporteras. Agenter rapporterar alltid ett meddelande utan transaktion när de upptäcker att det inte finns några tillgängliga transaktioner i källan efter att tidigare ha bearbetat replikerade transaktioner. Standardvärdet är 60 sekunder.
-MultiSubnetFailover [ 0 | 1 ]
gäller för: SQL Server 2019 (15.x) och senare versioner.
Anger om egenskapen MultiSubnetFailover är aktiverad eller inte. Om ditt program ansluter till en AlwaysOn-tillgänglighetsgrupp (AG) i olika undernät ger inställningen MultiSubnetFailover till 1 (sant) snabbare identifiering av och anslutning till den (för närvarande) aktiva servern.
När du konfigurerar en transaktionspublikation på en tillgänglighetsgrupp skapar Log Reader Agent en dynamisk länkad server för lyssnaren för att verifiera metadata. I SQL Server 2022 (16.x) CU 10 och senare versioner ändras konfigurationen av den dynamiska länkade servern. Mer information finns i KB5031778.
-Utdata output_path_and_file_name
Sökvägen till agentens utdatafil. Om filnamnet inte anges skickas utdata till konsolen. Om det angivna filnamnet finns läggs utdata till i filen.
-OutputVerboseLevel [ 0 | 1 | 2 | 3 | 4 ]
Anger om utdata ska vara utförliga.
| Värde | Beskrivning | 
|---|---|
| 0 | Endast felmeddelanden skrivs ut. | 
| 1 | Alla statusrapportmeddelanden för agenten skrivs ut. | 
| 2(standardinställning) | Alla felmeddelanden och agentens statusrapportmeddelanden skrivs ut. | 
| 3 | De första 100 byteen av varje replikerat kommando skrivs ut. | 
| 4 | Alla replikerade kommandon skrivs ut. | 
Värden 2–4 är användbara vid felsökning.
-PacketSize packet_size
Paketstorleken i byte. Standardvärdet är 4 096 (byte).
-PollingInterval polling_interval
Hur ofta i sekunder efterfrågas loggen för replikerade transaktioner. Standardvärdet är 5 sekunder.
-ProfileName profile_name
Anger en agentprofil som ska användas för agentparametrar. Om ProfileName är NULLinaktiveras agentprofilen. Om ProfileName inte anges används standardprofilen för agenttypen. Mer information finns i Replikeringsagentprofiler.
-PublisherFailoverPartner server_name [ \instance_name ]
Anger den redundanspartnerinstans av SQL Server som deltar i en databasspeglingssession med publikationsdatabasen. Mer information finns i Databasspegling och replikering (SQL Server).
-PublisherSecurityMode [ 0 | 1 ]
Anger säkerhetsläget för Utgivaren. Värdet 0 anger SQL Server-autentisering (standard) och värdet 1 anger Windows-autentiseringsläge.
-PublisherLogin publisher_login
Inloggningsnamnet för Publisher.
-PublisherPassword publisher_password
Publisher-lösenordet.
-QueryTimeOut query_time_out_seconds
Antalet sekunder innan frågan överskrider tidsgränsen. Standardvärdet är 1 800 sekunder.
-ReadBatchSize number_of_transactions
Det maximala antalet transaktioner som lästs ut från transaktionsloggen för publiceringsdatabasen per bearbetningscykel, med standardvärdet 500 och högst 1 0000. Agenten fortsätter att läsa transaktioner i batchar tills alla transaktioner läses från loggen. Den här parametern stöds inte för Oracle Publishers.
-ReadBatchThreshold number_of_commands
Antalet replikeringskommandon som ska läsas från transaktionsloggen innan de utfärdas till prenumeranten av distributionsagenten. Standardvärdet är 0. Om den här parametern inte anges läser Log Reader Agent till slutet av loggen eller till numret som anges i -ReadBatchSize (antal transaktioner).
-RecoverFromDataErrors
Anger att Loggläsaragenten fortsätter att köras när den stöter på fel i kolumndata som publicerats från en icke-SQL Server Publisher. Sådana fel gör som standard att loggläsaragenten misslyckas. När du använder -RecoverFromDataErrorsreplikeras felaktiga kolumndata antingen som eller ett lämpligt värde som NULL inte är null och varningsmeddelanden loggas till tabellen MSlogreader_history . Den här parametern stöds endast för Oracle Publishers.
Anmärkningar
Om du har installerat SQL Server Agent för att köras under ett lokalt systemkonto i stället för under ett domänanvändarkonto (standard) kan tjänsten bara komma åt den lokala datorn. Om loggläsaragenten som körs under SQL Server-agenten är konfigurerad för att använda Windows-autentiseringsläge när den loggar in på SQL Server misslyckas Log Reader Agent. Standardinställningen är SQL Server-autentisering. Information om hur du ändrar säkerhetskonton finns i Visa och ändra säkerhetsinställningar för replikering.
Starta Log Reader-agenten genom att köra logread.exe från kommandotolken. Mer information finns i Begrepp för körbara replikeringsagenter.