Sign in with Microsoft
Sign in or create an account.

Příznaky

Během synchronizace slučovací replikace v aplikaci Microsoft SQL Server 2008 a novějších verzích serveru SQL Server může dojít k selhání slučovacího agenta. Dále se zobrazí následující chybová zpráva:

Agent slučování selhal poté, co zjistil, že vyčištění metadat na základě uchovávání informací smazala metadata u odběratele pro změny, které ještě nebyly odeslány do aplikace Publisher. Předplatné je třeba znovu inicializovat (bez odeslání). (Zdroj: MSSQL_REPL, číslo chyby: MSSQL_REPL-2147199401) Získání nápovědy: http://help/MSSQL_REPL-2147199401

K tomuto problému může dojít z několika důvodů. To zahrnuje mnoho důvodů, které se očekávají za určitých okolností. Chcete-li zjistit, zda došlo k neočekávané chybě, prozkoumejte podrobnosti metadat, které jsou popsány v části Příčina.

Příčina

Příčinu tohoto problému naleznete v následujících systémových tabulkách účastníka:

  • dbo.sysMergeSubscriptions

  • dbo.MsMerge_Genhistory

Ujistěte se, že slučovací Agent již není synchronizovaná. Potom spusťte následující dotaz a prozkoumejte výsledky:

Vyberte sentgen z hodnoty SubscriberDB. dbo. Sysmergeodběry, kde pubid = subid a sentgen není null.Query results Sloupec sentgen označuje nejstarší skupinu změn, které odběratel odeslal vydavateli. Je-li vráceno více hodnot, Prohlédněte si ostatní sloupce v tabulce dbo. Sysmergeodběry a ujistěte se, že prohlížíte metadata pro správnou publikaci. Dále použijte hodnotu, kterou tento dotaz vrátí v následujícím dotazu:

Vyberte prvních 20 * z položky SubscriberDB. dbo. MSmerge_genhistory kde generace > = sentgen_value pořadí podle generaceVýstup dotazu by měl vypadat takto:Query result by generation k chybě může dojít neočekávaně, jsou-li splněny všechny následující podmínky:

  • Hodnota ve sloupci generace v prvním řádku je o něco větší než hodnota sentgen v předchozím dotazu.

  • Hodnota ve sloupci genstatus je 4.

  • Hodnota ve sloupci changecount je 0.

Poznámka: Hodnota sloupce colDate prvního řádku je také obvykle mnohem starší než hodnota tohoto sloupce v ostatních řádcích.

Řešení

Chcete-li tento problém vyřešit, znovu inicializujte účastníka, který chybu vyrobil. V některých scénářích může být možné tento problém vyřešit bez úplné opakované inicializace. Informace o možném řešení získáte od oddělení podpory zákazníků společnosti Microsoft. Chcete-li předejít budoucím výskytům tohoto problému, použijte jednu z následujících oprav v závislosti na verzi serveru SQL Server.

Informace o kumulativní aktualizaci

SQL Server 2008

Na serveru SQL Server 2008 není Oprava tohoto problému k dispozici.

SQL Server 2008 R2 Service Pack 2

Oprava tohoto problému byla poprvé vydána kumulativní aktualizací 3. Další informace o tom, jak získat tento kumulativní aktualizační balíček pro SQL Server 2008 R2 Service Pack 2, získáte v následujícím článku znalostní báze Microsoft Knowledge Base:

2754552 kumulativní aktualizační balíček 3 pro SQL Server 2008 R2 Service Pack 2Poznámka: Vzhledem k tomu, že sestavení jsou kumulativní, každá nová oprava obsahuje všechny opravy hotfix a všechny opravy zabezpečení zahrnuté v předchozí opravě aktualizace SQL Server 2008 R2 Service Pack 2. Doporučujeme zvážit použití nejnovější verze opravy, která obsahuje tuto opravu hotfix. Další informace získáte v následujícím článku znalostní báze Microsoft Knowledge Base:

2730301 sestavení serveru sql Server 2008 R2, které byly vydány po vydání aktualizace SQL Server 2008 R2 Service Pack 2

SQL Server 2012

Oprava tohoto problému byla poprvé vydána v kumulativní aktualizaci 4. Další informace o tom, jak získat tento kumulativní aktualizační balíček pro SQL Server 2012, získáte v následujícím článku znalostní báze Microsoft Knowledge Base:

2758687 kumulativní aktualizační balíček 4 pro SQL Server 2012Poznámka: Vzhledem k tomu, že sestavení jsou kumulativní, každá nová oprava obsahuje všechny opravy hotfix a všechny opravy zabezpečení zahrnuté v předchozím vydání opravy SQL Server 2012. Doporučujeme zvážit použití nejnovější verze opravy, která obsahuje tuto opravu hotfix. Další informace získáte v následujícím článku znalostní báze Microsoft Knowledge Base:

2692828 sestavení serveru sql Server 2012, která byla vydána po vydání produktu SQL Server 2012

SQL Server 2008 R2 Service Pack 1

Oprava tohoto problému byla poprvé vydána v kumulativní aktualizaci 8. Další informace o tom, jak získat tento kumulativní aktualizační balíček pro SQL Server 2008 R2 Service Pack 1, získáte v následujícím článku znalostní báze Microsoft Knowledge Base:

2723743 kumulativní aktualizační balíček 8 pro SQL Server 2008 R2 SP1Poznámka: Vzhledem k tomu, že sestavení jsou kumulativní, každá nová oprava obsahuje všechny opravy hotfix a všechny opravy zabezpečení zahrnuté v předchozí opravě aktualizace SQL Server 2008 R2 Service Pack 1. Doporučujeme zvážit použití nejnovější verze opravy, která obsahuje tuto opravu hotfix. Další informace získáte v následujícím článku znalostní báze Microsoft Knowledge Base:

2567616 sestavení serveru sql Server 2008 R2, která byla vydána po vydání serveru SQL Server 2008 R2 SP1

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.

×