Проблема
Рассмотрим следующий сценарий.
- Репликация используется в Microsoft SQL Server 2012 или SQL Server 2014.
- Вы добавляете подписку в подписку репликации, а затем удаляете ее.
В этом сценарии может возникнуть следующая ошибка 515:
Примечание
Не удается вставить значение NULL в столбец "article_id", таблицу DistributionDatabaseName.dbo><. MSrepl_commands'; column не допускает значения NULL. Сбой инструкции INSERT.
Причина
Проблема возникает из-за регрессии SQL Server 2012 г. Когда вы добавляете подписку, а затем удаляете ее, метаданные репликации о подписке немедленно удаляются из-за задержки, прежде чем LogReader столкнется с командой добавления подписки.
Решение
Эта проблема была исправлена в следующем накопительном обновлении SQL Server.
Накопительный пакет обновления 1 для SQL Server 2012 с пакетом обновления 2 (SP2) /help/2976982
Накопительный пакет обновления 2 для SQL Server 2014 года /en-us/help/2967546
Накопительный пакет обновления 10 для SQL Server 2012 с пакетом обновления 1 (SP1) /ru-ru/help/2954099
Сведения о накопительных обновлениях для SQL Server
Каждое новое накопительное обновление для SQL Server содержит все исправления и все исправления для системы безопасности, которые были включены в предыдущее накопительное обновление. Ознакомьтесь с последними накопительными обновлениями для SQL Server:
- Последнее накопительное обновление для SQL Server 2012 с пакетом обновления 2 (SP2)
- Последнее накопительное обновление для SQL Server 2014 г.
- Последнее накопительное обновление для SQL Server 2012 с пакетом обновления 1 (SP1)
Состояние
Корпорация Майкрософт подтвердила, что это проблема продуктов Microsoft, перечисленных в разделе «Относится к».