Symptomen
Tijdens de synchronisatie van de samenvoegreplicatie in Microsoft SQL Server 2008 en latere versies van SQL Server, kan de samenvoegagent mislukken. Bovendien wordt het volgende foutbericht weergegeven:
De samenvoeg agent is mislukt na het detecteren van metagegevens opruimen op basis van retentie is verwijderd van de gegevens bij de abonnee voor wijzigingen die nog niet zijn verzonden naar de uitgever. U moet het abonnement opnieuw initialiseren (zonder te uploaden). (Bron: MSSQL_REPL, foutnummer: MSSQL_REPL-2147199401) Hulp krijgen: http://help/MSSQL_REPL-2147199401
Dit probleem kan optreden om meerdere redenen. Deze omvatten veel redenen die onder bepaalde omstandigheden worden verwacht. Om te bepalen of u deze fout onverwacht hebt aangetroffen, bekijkt u de details van de metagegevens die worden beschreven in de sectie ' Oorzaak '.
Oorzaak
De oorzaak van dit probleem kan worden gevonden in de volgende systeemtabellen op de abonnee:
-
dbo.sysMergeSubscriptions
-
dbo.MsMerge_Genhistory
Zorg ervoor dat de samenvoegagent niet meer wordt gesynchroniseerd. Voer vervolgens de volgende query uit en Bekijk de resultaten:
Selecteer sentgen van Abonberdb. dbo. sysMergeSubscriptions waar pubid = SubID en sentgen is niet Null De kolom sentgen markeert de oudste groep wijzigingen die de abonnee naar de uitgever heeft verzonden. Als meerdere waarden worden geretourneerd, bekijkt u de andere kolommen in de dbo. sysMergeSubscriptions tabel om ervoor te zorgen dat u de metagegevens voor de juiste publicatie bekijkt. Gebruik vervolgens de waarde die deze query als resultaat geeft in de volgende query:
Selecteer Top 20 * van Abonberdb. dbo. MSmerge_genhistory waar generatie > = sentgen_value order by GenerationDe uitvoer van de query moet de volgende strekking:u de fout optreden onverwacht wanneer alle volgende voorwaarden voldaan wordt:
-
De waarde in de kolom genereren in de eerste rij is iets groter dan de waarde sentgen in de vorige query.
-
De waarde in de kolom genstatus is 4.
-
De waarde in de kolom changecount is 0.
Opmerking De waarde van de kolom coldate van de eerste rij is ook meestal veel ouder dan de waarde van die kolom in de andere rijen.
Oplossing
U lost dit probleem op door de abonnee die de fout heeft gemaakt opnieuw te initialiseren. In sommige gevallen u dit probleem oplossen zonder een volledige herinitialisatie. Neem contact op met Microsoft Customer Support Services voor informatie over een mogelijke oplossing. Om toekomstige exemplaren van dit probleem te voorkomen, moet u een van de volgende correcties, afhankelijk van uw versie van SQL Server toepassen.
Cumulatieve update-informatie
SQL Server 2008
Er is geen oplossing voor dit probleem in SQL Server 2008.
Service Pack 2 voor SQL Server 2008 R2
De correctie voor dit probleem werd voor het eerst uitgebracht in de cumulatieve update 3. Voor meer informatie over het verkrijgen van dit cumulatieve updatepakket voor SQL Server 2008 R2 Service Pack 2, klikt u op het volgende artikelnummer om het artikel in de Microsoft Knowledge Base:
2754552 cumulatieve updatepakket 3 voor SQL Server 2008 R2 Service Pack 2Opmerking Omdat de opbouw cumulatief van opzet zijn, elke nieuwe versie van de correctie bevat alle hotfixes en de beveiligingscorrecties die opgenomen in de vorige SQL Server 2008 R2 Service Pack 2 zijn release opgelost. Het is raadzaam dat u rekening houden met de meest recente versie van de correctie die deze hotfix bevat. Klik voor meer informatie op het volgende artikelnummer, zodat het artikel in de Microsoft Knowledge Base wordt weergegeven:
2730301 sql server 2008 R2 bouwt die zijn uitgebracht nadat sql server 2008 R2 Service Pack 2 is uitgebracht
SQL Server 2012
De correctie voor dit probleem werd voor het eerst uitgebracht in de cumulatieve update 4. Voor meer informatie over het verkrijgen van dit cumulatieve updatepakket voor SQL Server 2012, klikt u op het volgende artikelnummer om het artikel in de Microsoft Knowledge Base:
2758687 cumulatieve updatepakket 4 voor SQL Server 2012Opmerking Omdat de opbouw cumulatief van opzet zijn, elke nieuwe versie van de correctie bevat alle hotfixes en de beveiligingscorrecties die opgenomen in de vorige SQL Server 2012 zijn release opgelost. Het is raadzaam dat u rekening houden met de meest recente versie van de correctie die deze hotfix bevat. Klik voor meer informatie op het volgende artikelnummer, zodat het artikel in de Microsoft Knowledge Base wordt weergegeven:
2692828 de sql server 2012 bouwt die zijn uitgebracht nadat sql server 2012 is uitgebracht
Service Pack 1 voor SQL Server 2008 R2
De correctie voor dit probleem werd voor het eerst uitgebracht in de cumulatieve update 8. Voor meer informatie over het verkrijgen van dit cumulatieve updatepakket voor SQL Server 2008 R2 Service Pack 1, klikt u op het volgende artikelnummer om het artikel in de Microsoft Knowledge Base:
2723743 cumulatieve updatepakket 8 voor SQL Server 2008 R2 SP1Opmerking Omdat de opbouw cumulatief van opzet zijn, elke nieuwe versie van de correctie bevat alle hotfixes en de beveiligingscorrecties die opgenomen in de vorige SQL Server 2008 R2 Service Pack 1 zijn release opgelost. Het is raadzaam dat u rekening houden met de meest recente versie van de correctie die deze hotfix bevat. Klik voor meer informatie op het volgende artikelnummer, zodat het artikel in de Microsoft Knowledge Base wordt weergegeven:
2567616 sql server 2008 R2 bouwt die zijn uitgebracht nadat sql server 2008 R2 SP1 is uitgebracht