Simptome
Să presupunem că utilizați reproducerea tranzacțională în Microsoft SQL Server 2008 și există o interogare de actualizare care rulează în publicație. Atunci când faceți upgrade SQL Server la SQL Server 2012 sau SQL Server 2014, iar interogarea de actualizare nu este distribuită înainte de upgrade, agentul jurnal Reader poate să nu reușească cu următoarea eroare:
<Date> <Time> Publisher: {Call sp_replcmds (500; 0; 0; 0; 500000)}<dată> <dată> stare: 0, cod: 20011, text: "procesul nu a putut fi executat ' sp_replcmds ' pe '< nume Publisher>'. '.<Date> <Time> Procesul nu a putut executa ' sp_replcmds ' pe '<nume Publisher>'.<Date> <Time> Stare agent Repl: 6<dată> <dată> stare: 0, cod: 542, text: "s-a întâlnit o valoare DateTime nevalidă. Valoarea depășește anul 9999. '.<Date> <Time> Stare: 0, cod: 3621, text: "declarația a fost terminată.".<Date> <Time> Stare: 0, cod: 22037, text: ' procesul nu a putut fi executat ' sp_replcmds ' pe '<Publisher Name>'. '.
Chiar dacă această problemă nu s-a întâmplat, înregistrările jurnal actualizate pentru declarațiile de actualizare pot fi interpretate greșit de agentul Log Reader, iar următoarea eroare poate apărea în agentul de distribuire:
515 nu poate insera valoarea NULL în coloana '<nume coloană>', tabel '<nume tabel>'; coloana nu permite NULL. ACTUALIZAREA nu reușește.
Notă
-
Tipurile de date și restricțiile diferite pot provoca raportarea unei erori diferite, iar această problemă poate provoca și neconvergență.
-
Problema apare atunci când faceți upgrade de la SQL Server 2008 sau SQL Server 2008 R2 la SQL Server 2012 sau SQL Server 2014.
Rezolvare
Dacă eroarea "515 nu poate insera valoarea NULL în coloana"<nume coloană>', tabel '<nume tabel>'; coloana nu permite NULL. ACTUALIZAREA nu reușește "în agentul de distribuție a avut loc, ar trebui să reinițializați reproducerea. Această remediere rapidă nu remediază această eroare. Pentru a evita această eroare, ar trebui să dezactivați agentul Reader de jurnal înainte de a face upgrade, apoi să faceți upgrade la această remediere, apoi să reactivați agentul jurnal Reader. problema a fost remediată pentru prima dată în următoarea actualizare cumulativă de SQL Server.
Actualizarea cumulativă 2 pentru SQL Server 2012 SP2 /en-us/help/2983175
Actualizarea cumulativă 3 pentru SQL Server 2014 /en-us/help/2984923
Actualizarea cumulativă 11 pentru SQL Server 2012 SP1 /en-us/help/2975396
Fiecare nouă actualizare cumulativă pentru SQL Server conține toate remedierile rapide și toate remedierile de securitate care au fost incluse în actualizarea cumulativă anterioară. Consultați cele mai recente actualizări cumulative pentru SQL Server:
Stare
Microsoft a confirmat că aceasta este o problemă în produsele Microsoft enumerate în secțiunea „Se aplică la”.