Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
platí pro:SQL Server
azure SQL Managed Instance
Agent čtenáře protokolu replikace je spustitelný soubor, který monitoruje transakční protokol každé databáze nakonfigurované pro transakční replikaci a kopíruje transakce označené pro replikaci z transakčního protokolu do distribuční databáze.
Poznámka:
Parametry lze zadat v libovolném pořadí. Pokud nejsou zadány volitelné parametry, použijí se předdefinované hodnoty na základě výchozího profilu agenta.
Syntaxe
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 ]
Argumenty
-?
Zobrazí informace o využití.
-Vydavatel server_name [ \instance_name ]
Název vydavatele. Zadejte <server_name> výchozí instanci SQL Serveru na tomto serveru. Zadejte <server_name>\<instance_name> pojmenovanou instanci SQL Serveru na tomto serveru.
-PublisherDB publisher_database
Název databáze Publisheru.
-Nepřetržitý
Určuje, jestli se agent pokusí průběžně dotazovat replikované transakce. Pokud je zadáno, agent se dotazuje replikovaných transakcí ze zdroje v intervalech dotazování, i když neexistují žádné čekající transakce.
-DefinitionFile def_path_and_file_name
Cesta k definičnímu souboru agenta. Definiční soubor agenta obsahuje argumenty příkazového řádku pro agenta. Obsah souboru se analyzuje jako spustitelný soubor. Pomocí dvojitých uvozovek (") zadejte hodnoty argumentů, které obsahují libovolné znaky.
-Distributor server_name [ \instance_name ]
Název distributora. Zadejte <server_name> výchozí instanci SQL Serveru na tomto serveru. Zadejte <server_name>\<instance_name> pojmenovanou instanci SQL Serveru na tomto serveru.
-DistributorLogin distributor_login
Přihlašovací jméno distributora.
-DistributorPassword distributor_password
Heslo distributora.
-DistributorSecurityMode [ 0 | 1 ]
Určuje režim zabezpečení distributora. Hodnota 0 označuje režim ověřování SYSTÉMU SQL Server (výchozí) a hodnotu 1 označující režim ověřování systému Windows.
-EncryptionLevel [ 0 | 1 | 2 | 3 | 4 ]
Úroveň protokolu TLS (Transport Layer Security), dříve označovaná jako SSL (Secure Sockets Layer), šifrování, které používá agent Čtenář protokolů při vytváření připojení.
| Hodnota EncryptionLevel | Popis |
|---|---|
0 |
Určuje, že se nepoužívá protokol TLS. |
1 |
Určuje, že se používá protokol TLS 1.2, ale agent neověře, že certifikát serveru TLS je podepsaný důvěryhodným vystavitelem. |
2 |
Určuje, že se používá protokol TLS 1.2 a že se certifikát ověří. |
3 |
Určuje, že pro připojení ze služby Azure SQL Managed Instance nebo SQL Serveru 2025 a novějších verzí se použije spravovaná instance Azure SQL, použije se protokol TLS 1.3 a certifikát se ověří. U připojení k SQL Serveru (jakákoli podporovaná verze) se protokol TLS 1.3 nevynucuje s možností 3. |
4 |
Určuje, že pro připojení ze služby Azure SQL Managed Instance nebo SQL Serveru 2025 a novějších verzí se použije spravovaná instance Azure SQL, použije se protokol TLS 1.3 a certifikát se ověří. Pro připojení ze služby Azure SQL Managed Instance nebo SQL Serveru 2025 a novějších verzí k SQL Serveru (kterákoli podporovaná verze) se použije protokol TLS 1.3 a certifikát se ověří. Vyžaduje instalaci certifikátu na hostitele SQL Serveru, kteří přijímají připojení s nastaveným EncryptionLevel nastavením 4. |
Poznámka:
Topologie replikace se vzdáleným distributorem:
Platný certifikát TLS/SSL je definován s plně kvalifikovaným názvem domény SQL Serveru. Aby se agent mohl úspěšně připojit při nastavení -EncryptionLevel , 2vytvořte alias na místním SQL Serveru. Parametr Alias Name by měl být název serveru a parametr Server by měl být nastaven na plně kvalifikovaný název SQL Serveru.
Další informace naleznete v tématu Zobrazení a úprava nastavení zabezpečení replikace.
-ExtendedEventConfigFile configuration_path_and_file_name
Určuje cestu a název souboru pro konfigurační soubor XML rozšířených událostí. Konfigurační soubor rozšířených událostí umožňuje konfigurovat relace a povolit události pro sledování. Pouze interní použití.
-HistoryVerboseLevel [ 0 | 1 | 2 ]
Určuje množství historie protokolované během operace čtečky protokolu. Když vyberete možnost 1, můžete minimalizovat výkon protokolování historie.
| Hodnota HistoryVerboseLevel | Popis |
|---|---|
0 |
Žádné. |
1 (výchozí) |
Vždy aktualizujte předchozí zprávu historie o stejném stavu (spuštění, průběh, úspěch atd.). Pokud neexistuje žádný předchozí záznam se stejným stavem, vložte nový záznam. |
2 |
Vložte nové záznamy historie, pokud záznam není určený například pro nečinné zprávy nebo dlouho běžící zprávy úlohy, v takovém případě aktualizujte předchozí záznamy. |
-UdržujAliveMessageInterval keep_alive_message_interval_seconds
Počet sekund před vláknem historie zkontroluje, jestli některá z existujících připojení čeká na odpověď ze serveru. Tato hodnota se dá snížit, aby agent checkup označoval agenta Log Reader jako podezřelého při provádění dlouhotrvající dávky. Výchozí hodnota je 300 sekund.
-LoginTimeOut login_time_out_seconds
Počet sekund před časovým limitem přihlášení. Výchozí hodnota je 15 sekund.
-LogScanThreshold scan_threshold
Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena.
-MaxCmdsInTran number_of_commands
Určuje maximální počet příkazů seskupených do transakce, protože Čtenář protokolů zapisuje příkazy do distribuční databáze. Použití tohoto parametru umožňuje agentu Log Reader a distribučnímu agentu rozdělit velké transakce (sestávající z mnoha příkazů) v Publisheru na několik menších transakcí při použití u odběratele. Zadáním tohoto parametru můžete snížit kolize distributora a snížit latenci mezi vydavatelem a odběratelem. Vzhledem k tomu, že původní transakce je použita v menších jednotkách, odběratel může přistupovat k řádkům velké logické transakce Publisher před koncem původní transakce, způsobující striktní transakční atomicitu. Výchozí hodnota je 0, která zachovává hranice transakcí vydavatele.
Tento parametr se ignoruje pro publikace jiného typu než SQL Server. Další informace naleznete v tématu Konfigurace úlohy sady transakcí.
MaxCmdsInTran nebyl navržen tak, aby byl vždy zapnutý. Funguje to v případech, kdy někdo omylem provedl velký počet operací DML v jedné transakci. To způsobí zpoždění při distribuci příkazů, dokud celá transakce není v distribuční databázi, zámky uchovávané atd. Pokud do této situace běžně spadáte, zkontrolujte své aplikace a najděte způsoby, jak zmenšit velikost transakce.
Výstraha
K chybám primárního MaxCmdsInTran klíče může dojít v případě, že se parametr přidá a odebere při replikaci velké transakce. Pokud chcete vyřešit chyby primárního klíče u velkých transakcí, přidejte MaxCmdsInTran parametr zpět, dokud se transakce nereplikuje do distribuční databáze.
Použití parametru MaxCmdsInTran v databázi, která má povolenou funkci Change Data Capture (CDC) i replikaci, není podporována a může vést ke ztrátě dat v tabulkách změn CDC.
-MessageInterval message_interval
Časový interval používaný pro protokolování historie. Událost historie se protokoluje při MessageInterval dosažení hodnoty po zaznamenání poslední události historie.
Pokud není ve zdroji k dispozici žádná replikovaná transakce, agent hlásí distributorovi zprávu bez transakce. Tato možnost určuje, jak dlouho agent čeká, než nahlásí jinou zprávu typu no-transaction. Agenti vždy hlásí zprávu bez transakce, když zjistí, že ve zdroji nejsou k dispozici žádné transakce po předchozím zpracování replikovaných transakcí. Výchozí hodnota je 60 sekund.
-MultiSubnetFailover [ 0 | 1 ]
platí pro: SQL Server 2019 (15.x) a novější verze.
Určuje, jestli je vlastnost MultiSubnetFailover povolená nebo ne. Pokud se vaše aplikace připojuje ke skupině dostupnosti AlwaysOn (AG) v různých podsítích, nastavení MultiSubnetFailover na 1 (true) poskytuje rychlejší detekci a připojení k (aktuálně) aktivnímu serveru.
Když nakonfigurujete transakční publikaci ve skupině dostupnosti, agent Log Reader vytvoří dynamický propojený server pro naslouchací proces pro ověření metadat. V SQL Serveru 2022 (16.x) CU 10 a novějších verzích došlo ke změně konfigurace dynamického propojeného serveru. Další informace najdete v tématu KB5031778.
-Výstupní output_path_and_file_name
Cesta výstupního souboru agenta. Pokud není zadaný název souboru, odešle se výstup do konzoly. Pokud zadaný název souboru existuje, výstup se připojí k souboru.
-OutputVerboseLevel [ 0 | 1 | 2 | 3 | 4 ]
Určuje, jestli má být výstup podrobný.
| Hodnota | Popis |
|---|---|
0 |
Vytisknou se jenom chybové zprávy. |
1 |
Vytisknou se všechny zprávy o průběhu agenta. |
2 (výchozí) |
Vytisknou se všechny chybové zprávy a zprávy o průběhu agenta. |
3 |
Vytiskne se prvních 100 bajtů každého replikovaného příkazu. |
4 |
Vytisknou se všechny replikované příkazy. |
Hodnoty 2 až 4 jsou užitečné při ladění.
-Velikost balíčku packet_size
Velikost paketu v bajtech. Výchozí hodnota je 4096 (bajty).
-PollingInterval polling_interval
Jak často se v sekundách protokol dotazuje na replikované transakce. Výchozí hodnota je 5 sekund.
-ProfilJméno profile_name
Určuje profil agenta, který se má použít pro parametry agenta. Pokud ProfileName ano NULL, profil agenta je zakázaný. Pokud ProfileName není zadaný, použije se výchozí profil pro typ agenta. Informace najdete v tématu Profily agenta replikace.
-PublisherFailoverPartner server_name [ \instance_name ]
Určuje instanci partnera pro převzetí služeb při selhání SYSTÉMU SQL Server, který se účastní relace zrcadlení databáze s databází publikace. Další informace naleznete v tématu Zrcadlení a replikace databáze (SQL Server).
-PublisherSecurityMode [ 0 | 1 ]
Určuje režim zabezpečení aplikace Publisher. Hodnota 0 označuje ověřování SYSTÉMU SQL Server (výchozí) a hodnotu označující 1 režim ověřování systému Windows.
-PublisherLogin publisher_login
Přihlašovací jméno vydavatele.
-PublisherPassword publisher_password
Heslo vydavatele.
-QueryTimeOut query_time_out_seconds
Počet sekund před časovým limitem dotazu. Výchozí hodnota je 1 800 sekund.
-ReadBatchSize number_of_transactions
Maximální počet transakcí přečtených z transakčního protokolu databáze publikování na cyklus zpracování, s výchozím nastavením 500 a maximálním počtem 1 0000. Agent pokračuje ve čtení transakcí v dávkách, dokud nebudou všechny transakce načteny z protokolu. Tento parametr není podporován pro vydavatele Oracle.
-ReadBatchThreshold number_of_commands
Počet příkazů replikace, které se mají číst z transakčního protokolu před vydáním odběrateli distribučním agentem. Výchozí hodnota je 0. Pokud tento parametr není zadaný, agent Log Reader načte na konec protokolu nebo na číslo zadané v -ReadBatchSize (počet transakcí).
-RecoverFromDataErrors
Určuje, že agent čtenáře protokolu bude nadále spuštěn, když dojde k chybám v datech sloupců publikovaných z vydavatele jiného typu než SQL Server. Ve výchozím nastavení tyto chyby způsobí selhání agenta Log Reader. Při použití -RecoverFromDataErrorsse chybná data sloupců replikují buď jako NULL nebo vhodnou hodnotu, která není null, a zprávy s upozorněním se zaprotokolují do tabulky MSlogreader_history . Tento parametr je podporován pouze pro vydavatele Oracle.
Poznámky
Pokud jste nainstalovali agenta SQL Serveru tak, aby běžel pod místním systémovým účtem místo účtu uživatele domény (výchozí nastavení), může služba přistupovat pouze k místnímu počítači. Pokud je agent čtenáře protokolu, který běží v rámci agenta SQL Serveru, nakonfigurovaný tak, aby při přihlášení k SQL Serveru používal režim ověřování systému Windows, agent čtenáře protokolů selže. Výchozí nastavení je ověřování SQL Serveru. Informace o změně účtů zabezpečení naleznete v tématu Zobrazení a úprava nastavení zabezpečení replikace.
Pokud chcete spustit agenta Log Reader, spusťte logread.exe ho z příkazového řádku. Informace naleznete v tématu Koncepty spustitelných souborů agenta replikace.