Ознаки
Розглянемо такий сценарій:
-
Ви створюєте таблицю з первинним ключем і додаєте кілька рядків до неї в Microsoft SQL Server 2019 або 2017.
-
Ви додаєте стовпець із обмеженням за замовчуванням і змінюєте первинний ключ, щоб включити новий стовпець.
-
Для цієї таблиці створюється транзакційна публікація та передплата.
У цьому випадку агент розподілу не вдається, коли він намагається застосувати ОНОВЛЕННЯ або ВИДАЛИТИ абонента в рядках, які існували, перш ніж додати новий стовпець. Крім того, з'являється таке повідомлення про помилку "20598":
Рядок не знайдено в абонента під час застосування реплікованої команди UPDATE для таблиці "Ім'я таблиці" з первинними ключами: (null)
Спосіб вирішення
Цю проблему вирішено в сукупному пакеті оновлень для SQL Server:
Кожен новий сукупний пакет оновлень для SQL Server містить усі виправлення та виправлення системи безпеки, які були в попередній збірці. Радимо інсталювати найновішу збірку для своєї версії SQL Server.
Стан
Корпорація Майкрософт підтвердила, що це проблема в продуктах Microsoft, перелічених у розділі "Стосується".
Посилання
Дізнайтеся про термінологію , яку корпорація Майкрософт використовує для опису оновлень програмного забезпечення.