Symptomy
Załóżmy, że używasz replikacji transakcyjnej w programie Microsoft SQL Server 2008, a w publikacji jest uruchomiona kwerenda aktualizująca. Po uaktualnieniu programu SQL Server do programu SQL Server 2012 lub SQL Server 2014, a kwerenda aktualizująca nie jest dystrybuowana przed uaktualnieniem, Agent odczytywania dziennika może zakończyć się niepowodzeniem z następującym błędem:
<Date> <Time> Wydawca: {rozmowa sp_replcmds (500; 0; 0;; 0; 500000)}<data> <godzina> stan: 0, kod: 20011, text: "proces nie może wykonać operacji" sp_replcmds "na< nazwa wydawcy >".<Date> <Time> Proces nie może wykonać operacji "sp_replcmds" na "<nazwa wydawcy>".<Date> <Time> Stan agenta REPL: 6<data> <godzina> stan: 0, kod: 542, tekst: "napotkano nieprawidłową wartość DateTime. Wartość przekracza rok 9999.<Date> <Time> Stan: 0, kod: 3621, tekst: "instrukcja została zakończona".<Date> <Time> Stan: 0, kod: 22037, tekst: "proces nie może wykonać operacji" sp_replcmds "na<nazwa wydawcy>". ".
Nawet jeśli ten problem nie wystąpił, uaktualnione rekordy dziennika dla instrukcji UPDATE mogą być błędnie interpretowane przez agenta czytnika dziennika i w agencie dystrybucji mogą wystąpić następujące błędy:
515 nie może wstawić wartości NULL do kolumny "<nazwa kolumny>", tabela "<nazwa tabeli>"; w kolumnie nie są dozwolone wartości null. Aktualizacja nie powiodła się.
Uwaga
-
Różne typy danych i ograniczenia mogą spowodować zgłoszenie innego błędu, a ten problem może powodować niezbieżność.
-
Ten problem występuje podczas uaktualniania programu SQL Server 2008 lub SQL Server 2008 R2 do programu SQL Server 2012 lub SQL Server 2014.
Rozwiązanie
Jeśli błąd "515 nie może wstawić kolumny wartość NULL,<nazwa kolumny>", tabela "<nazwa tabeli>"; w kolumnie nie są dozwolone wartości null. Aktualizacja nie powiodła się "w agencie dystrybucji wystąpił ponowna inicjalizacja replikacji. Ta poprawka nie rozwiązuje tego błędu. Aby uniknąć tego błędu, przed uaktualnieniem należy wyłączyć agenta czytnika dziennika, a następnie uaktualnić go do wszystkich sposobów, a następnie ponownie włączyć agenta czytnika dziennika. problem został po raz pierwszy rozwiązany w poniższej zbiorczej aktualizacji programu SQL Server.
Zbiorcza aktualizacja 2 dla programu SQL Server 2012 z dodatkiem SP2 /en-us/help/2983175
Zbiorcza aktualizacja 3 dla programu SQL Server 2014 /en-us/help/2984923
Zbiorcza aktualizacja 11 dla programu SQL Server 2012 z dodatkiem SP1 /en-us/help/2975396
Każda nowa Zbiorcza aktualizacja programu SQL Server zawiera wszystkie poprawki i wszystkie poprawki zabezpieczeń uwzględnione w poprzedniej aktualizacji zbiorczej. Zapoznaj się z najnowszymi aktualizacjami zbiorczymi dla programu SQL Server:
Stan
Firma Microsoft potwierdziła, że jest to problem występujący w produktach firmy Microsoft wymienionych w sekcji "dotyczy".