Tento článek popisuje odstraňování potíží chyba 20598 "řádek nebyl nalezen u odběratele při použití příkazu replikované" v transakční replikace.

Řešení potíží

Chcete-li tyto potíže vyřešit, postupujte takto:

  1. V nástroji Sledování replikace agenta distribuce pro odběratele extrahovat číslo posloupnosti transakce a Apple ID, které došlo k chybě:



    Poznámka: Stejné číslo posloupnosti transakce můžete získat ze serveru distributor pomocí následující dotaz:

  2. Příkazy, které jsou mapovány na pořadové číslo transakce na serveru distributor extrahujte. Pro tento příkaz použijte jako parametr číslo posloupnosti transakce z kroku 1:

  3. Z výstupu v kroku 2 určete příkaz, který pomocí ID příkazu z kroku 1. Odkazují na command_id sloupce v sadě výsledků.

  4. Ověřit platnost článku informace o vydavateli. Pomocí ID článku, který jste získali v kroku 2 a zkontrolujte podrobnosti v článku, který se snažíte aktualizovat:

  5. Ověření primárního klíče na vydavatele.

    Mají dva kusy informace: tabulka, na které se pokoušíte provést aktualizaci a hodnotu primárního klíče. Můžete dotaz pomocí hodnoty primárního klíče v tabulce a vyhledejte řádek v databázi aplikace publisher. Například:

    Vyberte * z tbl_sample kde Název_sloupce = < primary_key_value >

  6. Zkontrolujte, zda problém u odběratele.

    Stejný dotaz spustit na databázi odběratele a porovnat s výsledky, které obdržíte z databáze vydavatele.

Jak potíže obejít

Chcete-li tento problém vyřešit pomocí následujících dvou metod:

  • Ručně vložte řádek nebyl nalezen u odběratele. To může povolit Agent distribuce opakování příkazu se nezdařilo a posunout vpřed s replikací.

    Poznámka: Mohou existovat další řádky, které chybějí a které musí být ručně vložen u odběratele, pokud existuje více chyb.

  • Pověřit Agent distribuce Přeskočit tuto chybu a pokračovat v replikaci zbývající změny. Agent distribuce přijímat skiperrors parametr. Tento parametr slouží k předání kód chyby 20598. To může zachovat nastavení replikace čekají na možnost ručně synchronizovat chybějící řádky.

    Poznámka: Je třeba pečlivě vyhodnotit navazující efekty referenční integrity a aktivačních událostí, které se nacházejí v tabulce obsahující tuto chybu dříve, než budete pokračovat.

Další informace

Shromažďování dat pro zkoumání příčin tohoto problému

Pokud k tomuto problému dochází opakovaně, je vhodné shromáždit následující data pro analýzu týmem pro podporu Microsoft SQL Server tak, aby se můžete pokusit identifikovat příčinu problému:

  • Zálohování databáze distribuční při výskytu tohoto problému. (To by měl být poté, co je chyba nahlášena a dříve, než je odběr reinicializována.)

  • Zálohy protokolu transakce vydavatele a odběratele. (To by měla být pro nejméně 24 hodin, které vedly k době problému.)

  • Profiler stopy, které aktivitě agenti replikace na distributora, vydavatele a odběratele. (Ujistěte se, že ještě před spuštěním problém se systémem okna profilování. V ideálním případě chcete spustit profiler přibližně ve stejnou dobu jako nové indexování čas zahájení úlohy.)

  • Výstupy z předchozích pět kroků k identifikaci příslušné tabulky a hodnoty primárního klíče chybí

  • Výstup zobrazení katalogu z vydavatel a odběratel databáze:

    • sys.partitions

    • sys.allocation_units

    • sys.objects

  • Podrobné výstupy protokoly agenta replikace

Známé problémy, které jsou určeny

Ve starších verzích serveru SQL Server dojít k následujícím problémům:

Stav

Společnost Microsoft potvrdila, že se jedná o problém v produktech společnosti Microsoft, které jsou uvedeny v části "Platí pro".

Odkazy

Další informace o terminologii používané v aktualizacích softwaru naleznete v tématu Popis standardní terminologie používané při popisu aktualizací softwaru společnosti Microsoft.

Potřebujete další pomoc?

Rozšiřte své znalosti a dovednosti
Projít školení
Získejte nové funkce jako první
Připojit se k programu Microsoft Insider

Byly tyto informace užitečné?

Jak jste spokojeni s kvalitou jazyka?
Co ovlivnilo váš názor?

Děkujeme vám za zpětnou vazbu.

×