Simptomi
Pretpostavimo da koristite transakcijski replikaciju u programu Microsoft SQL Server 2008, a u publikaciji se pokreće upit s ažuriranjem. Kada nadogradite SQL poslužitelj na SQL Server 2012 ili SQL Server 2014, a upit s ažuriranjem nije raspoređen prije nadogradnje, agent čitača zapisnika može pogriješiti uz sljedeću pogrešku:
<Date> <Time> Publisher: {Call sp_replcmds (500; 0; 0; 0; 500000)}<datum> <vrijeme> status: 0, code: 20011, tekst: ' proces nije mogao izvršiti ' sp_replcmds ' na '< naziv izdavača>'. '.<Date> <Time> Postupak nije mogao izvršiti ' sp_replcmds ' na '<naziv izdavača>'.<Date> <Time> Status agenta: 6<datum> <vremenu> status: 0, kod: 542, tekst: došlo je do nevaljane vrijednosti DATETIME. Vrijednost prelazi godinu 9999. '.<Date> <Time> Status: 0, code: 3621, tekst: ' izjava je prekinuta. '.<Date> <Time> Status: 0, code: 22037, tekst: ' postupak nije mogao izvršiti ' sp_replcmds ' na '<naziv izdavača>'. '.
Čak i ako se taj problem ne dogodi, nadograđeni zapisi zapisnika za izjave o ažuriranju i dalje mogu pogrešno interpretirati prema čitaču zapisnika i sljedeća pogreška može nastati u distribucijskom agentu:
515 ne može umetnuti vrijednost NULL u stupac '<naziv stupca>', tablica '<naziv tablice>'; stupac ne dopušta vrijednosti nullsa. AŽURIRANJE ne uspijeva.
Napomena
-
Različite vrste podataka i ograničenja mogu prouzročiti različite pogreške, a taj problem može prouzročiti i nekonvergenciju.
-
Problem se pojavljuje pri nadogradnji sa sustava SQL Server 2008 ili SQL Server 2008 R2 na SQL Server 2012 ili SQL Server 2014.
Rješenje
Ako pogreška "515 ne može umetnuti vrijednost NULL u stupac"<naziv stupca>', tablica '<naziv tablice>'; stupac ne dopušta vrijednosti nullsa. UPDATE ne uspije "u distribucijskom agentu došlo je do ponovnog inicijalizacije replikacije. Ovaj hitni popravak ne rješava tu pogrešku. Da biste izbjegli ovu pogrešku, prije nadogradnje trebali biste onemogućiti agent čitača zapisnika, a zatim nadograditi sve na ovaj popravak, a zatim ponovno omogućiti agenta čitača zapisnika. problem je prvi put riješen u sljedećem kumulativnom ažuriranju sustava SQL Server.
Kumulativno ažuriranje 2 za SQL Server 2012 SP2 /en-us/help/2983175
Kumulativno ažuriranje 3 za SQL Server 2014 /en-us/help/2984923
Kumulativno ažuriranje 11 za SQL Server 2012 SP1 /en-us/help/2975396
Svako novo Kumulativno ažuriranje za SQL Server sadrži sve hitne popravke i sve sigurnosne ispravke uključene u prethodno Kumulativno ažuriranje. Pogledajte najnovija kumulativna ažuriranja za SQL Server:
Status
Microsoft je potvrdio da se radi o problemu u Microsoftovim proizvodima navedenim u odjeljku "odnosi se na".