Исправление: «заданное значение нарушает ограничения целостности для столбца или таблицы» ошибка при публикации слиянием содержит большое число статей и ограничений в SQL Server Compact 3.5

Применимо к: SQL Server Compact 3.5 Service Pack 2

Проблемы


Рассмотрим следующий сценарий.
  • Для установки Microsoft SQL Server Compact 3.5 на компьютере.
  • Создание подписчика в SQL Server Compact 3.5.
  • Загрузка большого количества строк с публикации слиянием в базе данных во время синхронизации издателя с подписчиком. Строки содержат большое число статей и ограничения.
В этом случае в журнал ошибок SQL Server регистрируется сообщение об ошибке, подобное приведенному ниже:
Ошибка System.Data.SqlServerCe.SqlCeExceptionNative = 0, HRESULT =-2147217873, сообщение об ошибке: заданное значение нарушает ограничения целостности для столбца или таблицы.
Примечание.Эта проблема возникает в 32-разрядной операционной системы и 64-разрядной операционной системе.

Причина


Эта проблема возникает, так как используется exchange недопустимый идентификатор. Когда много строк для загрузки находятся в состоянии ожидания, SQL Compact агента клиента вызывает метод повтора, использующий exchange недопустимый идентификатор. Таким образом возникает проблема, описанное в разделе «Проблема».

Решение


Исправление, устраняющее эту проблему включено в накопительный пакет обновления 5 для SQL Server Compact 3.5 Пакет обновления 2 (SP2). Дополнительные сведения о том, как получить накопительный пакет обновления 5 для SQL Server Compact 3.5 с пакетом обновления 2 щелкните следующий номер статьи базы знаний Майкрософт:
2553608 Накопительное обновление для SQL Server 2 для Compact 3.5 Пакет обновления 5