Symptomer
Anta at du bruker overførbar replikering i Microsoft SQL Server 2008, og det er en oppdateringsspørring som kjører på publikasjonen. Når du oppgraderer SQL-serveren til SQL Server 2012 eller SQL Server-2014 og oppdateringsspørringen ikke distribueres før oppgraderingen, mislykkes den Loggleseragent med følgende feil:
< dato >< gang > Utgiver: {Ring sp_replcmds (500, 0, 0, 0, 500000)}
< dato >< gang > Status: 0, kode: 20011, tekst: 'prosessen kan ikke utføre sp_replcmds på< navn på Publisher >.'.
< dato >< gang > Prosessen kan ikke utføre sp_replcmds på< navn på Publisher >.
< dato >< gang > Erstatt Agent Status: 6
< dato >< gang > Status: 0, kode: 542, tekst: ' det oppstod en ugyldig datetime-verdi. Verdien overskrider året 9999.'.
< dato >< gang > Status: 0, kode: 3621, tekst: 'setningen er avsluttet.'.
< dato >< gang > Status: 0, kode: 22037, tekst: 'prosessen kan ikke utføre sp_replcmds på< navn på Publisher >.'.
Selv om dette problemet ikke har skjedd, oppgraderte loggposter for update-setninger kan fremdeles mistolkes av Loggleseragent og følgende feil kan oppstå i Fordelingsagent:
515 kan ikke sette inn verdien NULL i kolonnen '< kolonnenavn >', tabellen '< navn >'; kolonnen tillater ikke nullverdier. OPPDATERINGEN mislykkes.
Obs!
-
Forskjellige datatyper og begrensninger kan føre til ulike feil skal rapporteres, og dette problemet selv kan føre til ikke-konvergens.
-
Dette problemet oppstår når du oppgraderer fra SQL Server 2008 eller SQL Server 2008 R2 til SQL Server 2012 eller SQL Server-2014.
Oppløsning
Hvis feilen "515 kan ikke sette inn verdien NULL i kolonnen '< kolonnenavn >', tabellen '< navn >'; kolonnen tillater ikke nullverdier. OPPDATERINGEN mislykkes"i Fordelingsagent oppstod, og du skal initialisere din replikering. Denne hurtigreparasjonen løser ikke denne feilen. Hvis du vil unngå denne feilen, bør du deaktivere loggen Reader Agent før oppgraderingen, og deretter oppgradere helt til denne hurtigreparasjonen, og aktivere loggen Reader-agenten på nytt.
Problemet ble først løst i den følgende kumulative oppdateringen av SQL Server.
Samleoppdatering 2 for SQL Server 2012 SP2/en-us/help/2983175
Samleoppdatering 3 for SQLServer-2014/en-us/help/2984923
Kumulativ oppdatering 11 for SQL Server 2012 SP1/en-us/help/2975396
Hver nye kumulative oppdateringen for SQL Server inneholder alle hurtigreparasjonene og alle sikkerhetsreparasjoner som fulgte med den forrige kumulative oppdateringen. Sjekk ut de nyeste kumulative oppdateringene for SQL Server:
Status
Microsoft har bekreftet at dette er et problem i Microsoft-produktene som er oppført i delen "Gjelder for".