Ознаки
Припустимо, що ви використовуєте реплікацію транзакцій в Microsoft SQL Server 2008, а запит на оновлення виконується в публікації. Під час оновлення SQL Server до SQL Server 2012 або SQL Server 2014, а запит на оновлення не розповсюджується перед оновленням, агент читач журналів може не вдатися до такої помилки:
<Date> <Time> Видавець: {Call sp_replcmds (500; 0; 0;; 0; 500000)}<дата> <час> стан: 0, код: 20011, Text: ' процес не може виконати "sp_replcmds" на "< ім'я видавця>".<Date> <Time> Процес не може виконати "sp_replcmds" на "<ім'я видавця>".<Date> <Time> Стан агента retl: 6<дата> <час> стан: 0, код: 542, Text: "Неприпустиме значення дати й часу". Значення перевищує рік 9999. ".<Date> <Time> Стан: 0, код: 3621, Text: ' оператор перервано. '.<Date> <Time> Стан: 0, код: 22037, Text: ' цей процес не може виконати "sp_replcmds" на "<ім'я видавця>". ".
Навіть якщо ця проблема не зникла, оновлені записи журналів для заяв про оновлення можуть ще бути неправильно витлумачені агентом з журналу Reader, а в агенті розповсюдження може з'явитися таке повідомлення про помилку:
515 не вдалося вставити значення NULL у стовпець "<ім'я стовпця>", таблицю "<ім'я таблиці>"; стовпець не підтримує Null-значення. ОНОВЛЕННЯ не вдасться.
Примітка.
-
Різні типи даних і обмеження можуть спричинити різні помилки, і ця проблема може призвести до неконвергенції.
-
Ця проблема виникає, коли ви оновлюєте з SQL Server 2008 або SQL Server 2008 R2 до SQL Server 2012 або SQL Server 2014.
Спосіб вирішення
Якщо помилка "515 не може вставити значення NULL у стовпець"<ім'я стовпця>", таблиця"<ім'я таблиці>"; стовпець не підтримує Null-значення. Не вдалося оновити помилку "в агенті розповсюдження, потрібно повторно ініціалізувати реплікацію. Це виправлення не усуває цю помилку. Щоб уникнути цієї помилки, потрібно вимкнути агент читач журналів перед оновленням, а потім оновити весь шлях до цього виправлення, а потім знову ввімкнути агент невізуального журналу. Ця проблема була спочатку зафіксоване в такому сукупному оновленні сервера SQL Server.
Сукупне оновлення 2 для SQL Server 2012 SP2 /en-us/help/2983175
Сукупне оновлення 3 для SQL Server 2014 /en-us/help/2984923
Сукупне оновлення 11 для SQL Server 2012 SP1 /en-us/help/2975396
Кожне нове Сукупне оновлення для SQL Server містить усі поточні виправлення та всі виправлення системи безпеки, які були включені до попереднього сукупного оновлення. Ознайомтеся з найновішими сукупними оновленнями для сервера SQL Server:
Стан
Корпорація Майкрософт підтвердила, що це проблема в продуктах Microsoft, перелічених у розділі "застосовується до".