Simptomi
Tokom sinhronizacije replikacije objedinjavanja u Microsoft SQL Server 2008 i novijim verzijama sistema SQL Server, agent za objedinjavanje može da otkaže. Pored toga, dobijate sledeću poruku o grešci:
Agent za objedinjavanje nije uspeo nakon što je otkrivao da je čišćenje metapodataka zasnovanih na zadržavanja izbrisala metapodatke u pretplatnik za promene koje još nisu poslate izdavaču. Morate ponovo pokrenuti pretplatu (bez otpremanja). (Izvor: MSSQL_REPL, broj greške: MSSQL_REPL-2147199401) Dobijte pomoć: http://help/MSSQL_REPL-2147199401
Do ovog problema može doći iz više razloga. Među njima su mnogi razlozi koji se očekuju pod određenim okolnostima. Da biste utvrdili da li ste neočekivano naišli na ovu grešku, ispitajte detalje metapodataka opisane u odeljku "uzrok".
Uzrok
Uzrok ovog problema može se pronaći u sledećim sistemskim tabelama na pretplatničkom:
-
dbo.sysMergeSubscriptions
-
dbo.MsMerge_Genhistory
Uverite se da agent za objedinjavanje više ne sinhronizuje. Zatim pokrenite sledeći upit i ispitajte rezultate:
Izaberite stavku "sentgen" iz Pretplaćiberdb. DBO. Sysmergesubskripti gde je pubid = subid i sentgen nije bez vrednosti U koloni " sentgen " obeležava se najstarija grupa promena koje je pretplatnik poslao izdavaču. Ako se vrati više vrednosti, ispitajte druge kolone u tabeli DBO. Sysmergesubskripta da biste se uverili da prikazujete metapodatke za ispravnu publikaciju. Zatim koristite vrednost koju ovaj upit vraća u sledećem upitu:
Izaberite najviše 20 * od Pretplaćiberdb. DBO. MSmerge_genhistory gde je generacija > = sentgen_value porudžbina po generacijiIzlaz upita treba da podseća na sledeće:do greške može doći neočekivano kada su ispunjeni svi sledeći uslovi:
-
Vrednost u koloni " generacija " u prvom redu je nešto veća od vrednosti " sentgen " u prethodnom upitu.
-
Vrednost u koloni " genstatus " je 4.
-
Vrednost u koloni " changecount " je 0.
Belešku Vrednost kolone " koldate " u prvom redu je takođe obično mnogo starija od vrednosti te kolone u ostalim redovima.
Rešenje
Da biste rešili ovaj problem, ponovo pokrenite pretplatnik koji je proizveo grešku. U nekim slučajevima ćete možda moći da rešite ovaj problem bez potpunog ponovnog pokretanja. Obratite se Microsoft službama korisničke podrške za informacije o mogućem zaobilazno rješenje. Da biste sprečili buduće pojavljivanje ovog problema, primenite jednu od sledećih ispravki, u zavisnosti od verzije sistema SQL Server.
Kumulativne informacije o ažuriranju
SQL Server 2008
Ne postoji popravka za ovaj problem u sistemu SQL Server 2008.
SQL Server 2008 R2 servisni paket 2
Popravka za ovaj problem je prvi put objavljena u kumulativnoj ispravci 3. Za više informacija o nabavljanju ovog paketa kumulativnih ispravki za SQL Server 2008 R2 servisni paket 2 kliknite na sledeći broj članka da biste videli članak u Microsoft bazi znanja:
2754552 kumulativni paket nadopuna 3 za SQL Server 2008 R2 servisni paket 2Belešku Pošto su verzije kumulativne, svaki novi članak sadrži sve hitne ispravke i sve bezbednosne ispravke koje su bile uključene u prethodno izdanje SQL Server 2008 R2 Service Pack 2 popravka. Preporučujemo da razmotrite primenu najnovijih izdanja za popravku koje sadrži ovu hitnu ispravku. Za više informacija kliknite na sledeći broj članka da biste videli članak u Microsoft bazi znanja:
2730301 verzije SQL Server 2008 R2 koji su objavljeni nakon izdavanja SQL Server 2008 R2 servisnog paketa 2
SQL Server 2012
Ispravka za ovaj problem je prvi put objavljena u kumulativnoj ispravci 4. Za više informacija o nabavljanju ovog paketa kumulativnih ispravki za SQL Server 2012 kliknite na sledeći broj članka da biste videli članak u Microsoft bazi znanja:
2758687 kumulativni paket nadopuna 4 za SQL Server 2012Belešku S obzirom na to da su verzije kumulativne, svaka nova verzija ispravke sadrži sve hitne ispravke i sve bezbednosne ispravke koje su uključene u prethodno izdanje SQL Server 2012 fix. Preporučujemo da razmotrite primenu najnovijih izdanja za popravku koje sadrži ovu hitnu ispravku. Za više informacija kliknite na sledeći broj članka da biste videli članak u Microsoft bazi znanja:
2692828 verzije sistema sql Server 2012 koje su objavljene nakon izdavanja SQL Server 2012
SQL Server 2008 R2 servisni paket 1
Popravka za ovaj problem je prvi put objavljena u kumulativnoj ispravci 8. Za više informacija o nabavljanju ovog paketa kumulativnih ispravki za SQL Server 2008 R2 servisni paket 1 kliknite na sledeći broj članka da biste videli članak u Microsoft bazi znanja:
2723743 kumulativni paket nadopuna 8 za SQL Server 2008 R2 SP1Belešku S obzirom na to da su verzije kumulativne, svaki novi članak sadrži sve hitne ispravke i sve bezbednosne ispravke koje su bile uključene u prethodno izdanje SQL Server 2008 R2 servisni paket 1. Preporučujemo da razmotrite primenu najnovijih izdanja za popravku koje sadrži ovu hitnu ispravku. Za više informacija kliknite na sledeći broj članka da biste videli članak u Microsoft bazi znanja:
2567616 verzije SQL Server 2008 R2 koji su objavljeni nakon izdavanja SQL Server 2008 R2 SP1