Simptomai
Tarkime, kad naudojate Transakcinis replikavimas "Microsoft SQL Server" 2008, ir yra naujinimo užklausa, veikianti leidinyje. Kai naujinate SQL serverį į "SQL Server" 2012 arba "SQL Server 2014", o naujinimo užklausa neplatinama iki versijos naujinimo, žurnalų skaitytuvo agentas gali nepavykti dėl šios klaidos:
<Date> <Time> "Publisher": {Call sp_replcmds (500, 0, 0, 500000)}<data> <laikas> būsena: 0, kodas: 20011, text: "Nepavyko vykdyti" sp_replcmds "<" Publisher ">". ".<Date> <Time> Šio proceso negalima vykdyti "sp_replcmds"<"Publisher" vardų>".<Date> <Time> Repl agento būsena: 6<data> <laiko> būsena: 0, kodas: 542, text: ' neleistina datetime reikšmė. Reikšmė viršija 9999 metus. ".<Date> <Time> Būsena: 0, kodas: 3621, tekstas: "sakinys nutrauktas."<Date> <Time> Būsena: 0, kodas: 22037, tekstas: "nepavyko įvykdyti" sp_replcmds "<" Publisher ">". ".
Net jei ši problema nebuvo padaryta, atnaujinti išrašų atnaujinimo žurnalų duomenis vis dar galima klaidingai interpretuoti pagal žurnalų skaitytuvo agentą ir gali kilti ši klaida platinimo agentu:
515 negali įterpti reikšmės NULL į stulpelį<stulpelio pavadinimas>", lentelė<lentelės pavadinimas>"; stulpelis neleidžia neapibrėžtas reikšmes. Nepavyksta atnaujinti.
Pastaba
-
Skirtingi duomenų tipai ir apribojimai gali sukelti skirtingą klaidą, o ši problema netgi gali sukelti ne konvergenciją.
-
Ši problema iškyla, kai atnaujinate iš SQL serverio 2008 arba SQL serverio 2008 R2 į SQL serverio 2012 arba SQL serverio 2014.
Sprendimas
Jei klaida "515" negali įterpti reikšmės NULL į stulpelį<stulpelio pavadinimas>", lentelė<lentelės pavadinimas>"; stulpelis neleidžia neapibrėžtas reikšmes. Nepavyksta atnaujinti "platinimo agente, turėtumėte iš naujo inicijuoti replikaciją. Ši karštoji pataisa neištaiso šios klaidos. Norėdami išvengti šios klaidos, prieš naujindami turite išjungti žurnalų skaitytuvo agentą, tada atnaujinti visą kelią iki šios pataisos ir vėl įjungti žurnalų skaitytuvo agentą. problema pirmą kartą išspręsta šį kaupiamąjį naujinimą SQL serverio.
Kaupiamasis naujinimas 2 SQL serverio 2012 SP2 /en-us/help/2983175
Kaupiamasis naujinimas 3 SQL serverio 2014 /en-us/help/2984923
Kaupiamasis naujinimas 11 SQL serverio 2012 SP1 /en-us/help/2975396
Kiekvienas naujas Kaupiamasis naujinimas, skirtas "SQL Server", yra visos karštosios pataisos ir visos saugos pataisos, kurios buvo pridėtos prie ankstesnio kaupiamojo naujinimo. Peržiūrėkite naujausius kaupiamuosius SQL serverio naujinimus:
Statusą
"Microsoft" patvirtino, kad tai yra "Microsoft" produktų, išvardytų skyriuje "taikoma", problema.