KB2958062 — ИСПРАВЛЕНИЕ: ошибка 515 при добавлении подписки и ее удалении в SQL Server 2012 или SQL Server 2014

Применяется к
SQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Standard SQL Server 2012 Web SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use)

Проблема

Рассмотрим следующий сценарий.

  • Репликация используется в 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:

      

Состояние

Корпорация Майкрософт подтвердила, что это проблема продуктов Microsoft, перечисленных в разделе «Относится к».