KB2979121 – KORJAUS: Lokinlukija-agentti epäonnistuu, kun päivität SQL Server 2008:sta SQL Server 2012:een tai SQL Server 2014:ään

Käytetään kohteeseen
SQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Standard SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use)

Ongelman ilmenemistapa

Oletetaan, että käytät tapahtumien replikointia Microsoft SQL Server 2008:ssa ja että julkaisussa on käynnissä päivityskysely. Kun päivität SQL Server:n SQL Server 2012:een tai SQL Server 2014:ään eikä päivityskyselyä ole jaettu ennen päivitystä, lokinlukijan agentti voi epäonnistua ja antaa seuraavan virheilmoituksen:

Huomautus

<Päivämäärä><ja aika> Julkaisija: {call sp_replcmds (500, 0, 0, , 0, 500000)}
<Date><Time> Status: 0, code: 20011, text: 'The process could not perform 'sp_replcmds' on '<Publisher Name>'."
<Päivämäärä><ja aika> Prosessia ei voitu suorittaa julkaisijan< nimen> sp_replcmds-kohdassa.
<Date><Time> Repl Agent Status: 6
<Date><Time> Status: 0, code: 542, text: 'Virheellinen päivämäärä/aika-arvo havaittiin. Arvo ylittää vuoden 9999."
<Date><Time> Status: 0, code: 3621, text: 'The statement has been terminated.'.
<Date><Time> Status: 0, code: 22037, text: 'The process unable not perform 'sp_replcmds' on '<Publisher Name>'.'.

Vaikka tätä ongelmaa ei olisi tapahtunut, lokinlukija-agentti voi silti tulkita virheellisesti päivityslausekkeiden päivitetyt lokitietueet ja jakeluagentissa voi ilmetä seuraava virhe:

Huomautus

515 NULL-arvoa ei voi lisätä sarakkeeseen "<Sarakkeen nimi>", taulukkoon "<Taulukon nimi>"; sarake ei salli Null-arvoja. PÄIVITYS epäonnistuu.

Huomautus

  • Eri tietotyypit ja rajoitukset voivat aiheuttaa erilaisten virheiden raportoinnin, ja tämä ongelma voi jopa aiheuttaa häiriöitä konvergenssissa.
  • Tämä ongelma ilmenee, kun päivität SQL Server 2008:sta tai SQL Server 2008 R2:sta SQL Server 2012:een tai SQL Server 2014:ään.

      

Ratkaisu

Jos virhe "515 Ei voida lisätä arvoa NULL sarakkeeseen "<Sarakkeen nimi>", taulukkoon "<Taulukon nimi>"; Sarake ei salli Null-arvoja. PÄIVITYS epäonnistuu" jakeluagentissa on tapahtunut, sinun on alustettava replikointi uudelleen. Tämä hotfix-korjaus ei korjaa tätä virhettä. Voit välttää tämän virheen poistamalla lokinlukijan agentin käytöstä ennen päivitystä, päivittämällä sitten kokonaan tähän korjaukseen ja ottamalla lokinlukuohjelman agentin uudelleen käyttöön.
Ongelma korjattiin ensimmäisen kerran seuraavassa SQL Server kumulatiivisessa päivityksessä.

SQL Server 2012 SP2:n kumulatiivinen päivitys 2 /en-us/help/2983175

SQL Server 2014:n kumulatiivinen päivitys 3 /en-us/help/2984923

SQL Server 2012 SP1:n kumulatiivinen päivitys 11 /en-us/help/2975396

Tietoja SQL Serverin kumulatiivisista päivityksistä

Jokainen uusi SQL Server -kumulatiivinen päivitys sisältää kaikki edelliseen kumulatiiviseen päivitykseen sisältyvät hotfix-korjaukset ja tietoturvakorjaukset. Tutustu SQL Serverin uusimpiin kumulatiivisiin päivityksiin:

      

Tila

Microsoft on vahvistanut tämän olevan ongelma niissä Microsoftin tuotteissa, jotka ovat listattuna Koskee seuraavia tuotteita -osiossa.