Tünetek
A Microsoft SQL Server 2008-ban és az SQL Server újabb verzióiban az egyesítési replikáció szinkronizálása során előfordulhat, hogy az egyesítési ügynök működésképtelen lesz. Ezenkívül az alábbihoz hasonló hibaüzenet is megjelenik:
Megjegyzés
Az egyesítési ügynök meghiúsult, miután észlelte, hogy a megőrzésen alapuló metaadat-karbantartás törölte a Közzétevőnek még el nem küldött módosítások metaadatait az Előfizetőnél. Újra inicializálnia kell az előfizetést (feltöltés nélkül). (Forrás: MSSQL_REPL, hibaszám: MSSQL_REPL-2147199401)
Segítség kérése: http://help/MSSQL_REPL-2147199401
A problémának több oka is lehet. Ezek közé tartozik számos ok, amelyek bizonyos körülmények között várhatók. Annak megállapításához, hogy váratlanul jelentkezett-e ez a hiba, tekintse át az "Ok" című szakaszban leírt metaadatok részleteit.
Ok
A probléma oka az előfizető következő rendszertáblázataiban található:
- dbo.sysMergeSubscriptions
- dbo. MsMerge_Genhistory
Győződjön meg arról, hogy a körlevélügynök már nem szinkronizál. Ezután futtassa a következő lekérdezést, és vizsgálja meg az eredményt:
select sentgen from SubscriberDB.dbo.sysMergeSubscriptions, ahol pubid = subid és sentgen is not null
A sentgen oszlop a módosítások legrégebbi csoportját jelöli, amelyet az előfizető küldött a kiadónak. Ha több értéket ad vissza, ellenőrizze a dbo.sysMergeSubscriptions tábla többi oszlopát, és győződjön meg arról, hogy a megfelelő kiadvány metaadatait jeleníti meg. Ezután használja a lekérdezés által visszaadott értéket a következő lekérdezésben:
select top 20 * from SubscriberDB.dbo.MSmerge_genhistory where generation >= sentgen_value order by generationA lekérdezés kimenetének a következőhöz hasonlónak kell lennie:
A hiba váratlanul jelentkezhet, ha az alábbi feltételek mindegyike igaz:
- Az első sor generáció oszlopának értéke valamivel nagyobb, mint az előző lekérdezés sentgen értéke.
- A genstatus oszlop értéke 4.
- A changecount oszlop értéke 0.
Megjegyzés: Az első sorban coldate oszlop értéke is általában jóval régebbi, mint a többi sorban lévő oszlop értéke.
Megoldás
A probléma megoldásához inicializálja újra a hibát okozó előfizetőt.
Bizonyos esetekben a probléma teljes újrainicializálás nélkül is megoldható. A lehetséges kerülő megoldással kapcsolatos információkért lépjen kapcsolatba a Microsoft ügyfélszolgálatával.
A probléma jövőbeni előfordulásának megelőzése érdekében alkalmazza az alábbi javítások egyikét az SQL Server verziójától függően.
Összegző frissítéssel kapcsolatos információk
SQL Server 2008
Az SQL Server 2008-ban nincs javítás erre a problémára.
SQL Server 2008 R2 Service Pack 2
A hiba javítását először a 3. összegző frissítésben adtuk ki. Az SQL Server 2008 R2 Service Pack 2 szervizcsomaghoz kiadott összegző frissítőcsomag beszerzéséről a Microsoft Tudásbázis alábbi cikkében tájékozódhat:
2754552 3. összegző frissítőcsomag a SQL Server 2008 R2 Service Pack 2-höz
Megjegyzés: Mivel a buildek összegzőek, minden új javításkiadás tartalmazza az összes gyorsjavítást és minden biztonsági javítást, amely az előző SQL Server 2008 R2 Service Pack 2 javításban szerepelt. Javasoljuk, hogy fontolja meg a gyorsjavítást tartalmazó legújabb javítás telepítését. További információ a Microsoft Tudásbázis következő számú cikkében olvasható (a cikk megnyitásához kattintson a sorszámra):
2730301 A SQL Server 2008 R2 Service Pack 2 után megjelent SQL Server 2008 R2 buildek
SQL Server 2012
A hiba javítását először a 4. összegző frissítésben adtuk ki. Az SQL Server 2012-höz készült kumulatív frissítési csomag beszerzéséről a Microsoft Tudásbázis alábbi cikkében tájékozódhat:
2758687 4. összegző frissítőcsomag a SQL Server 2012-höz
Megjegyzés: Mivel a buildek kumulatívak, minden új javítás tartalmazza az előző SQL Server 2012-es javítás összes gyorsjavítását és biztonsági javítását. Javasoljuk, hogy fontolja meg a gyorsjavítást tartalmazó legújabb javítás telepítését. További információ a Microsoft Tudásbázis következő számú cikkében olvasható (a cikk megnyitásához kattintson a sorszámra):
2692828 Megjelentek a SQL Server 2012 utáni SQL Server 2012-es buildek
SQL Server 2008 R2 Service Pack 1
A hiba javítását először a 8-as összegző frissítésben adtuk ki. Az SQL Server 2008 R2 Service Pack 1 szervizcsomaghoz kiadott összegző frissítőcsomag beszerzéséről a Microsoft Tudásbázis alábbi cikkében tájékozódhat:
2723743 8-as összegző frissítés a SQL Server 2008 R2 SP1-hezMegjegyzés: Mivel a buildek kumulatívak, minden új javításkiadás tartalmazza az SQL Server 2008 R2 Service Pack 1 előző kiadásában szereplő összes gyorsjavítást és biztonsági javítást. Javasoljuk, hogy fontolja meg a gyorsjavítást tartalmazó legújabb javítás telepítését. További információ a Microsoft Tudásbázis következő számú cikkében olvasható (a cikk megnyitásához kattintson a sorszámra):
2567616 Megjelentek a SQL Server SQL Server 2008 R2 SP1 utáni 2008 R2 buildek