Проблемы
Рассмотрим следующий сценарий.
-
Вы создаете бизнес-правило, которое проверяет наличие пустого значения для числового атрибута в Microsoft SQL Server 2012 Master Data Services (MDS).
-
Вы сохраняете и публикуете бизнес-правило.
-
Вы открываете сущность в проводнике MDS и запускаете бизнес-правило для проверки участников сущности.
В этом случае появляется следующее сообщение об ошибке:
8114: ошибка при преобразовании типа данных nvarchar в числовой. Счетчик транзакций после EXECUTE указывает на несовпадающее число инструкций BEGIN и COMMIT. Предыдущее число = 0, текущее число = 1.
Примечание. Эта проблема также возникает в SQL Server 2014 MDS, в котором применяются CU3 или более поздние версии. Например, при выполнении бизнес-правила в MDS, которое проверяет, является ли атрибут даты пустым, появляется следующее сообщение об ошибке:
Ошибка при преобразовании типа данных nvarchar в DateTime
Решение
Эта проблема впервые устранена в следующем накопительном обновлении SQL Server.
Накопительное обновление 6 для SQL Server 2014 /en-us/help/3031047
Накопительное обновление 4 для SQL Server 2012 с пакетом обновления 2 (SP2) /en-us/help/3007556
Накопительное обновление 14 для SQL Server 2012 с пакетом обновления 1 (SP1) /en-us/help/3023636
Все новые накопительные обновления для SQL Server содержат все исправления и все исправления для системы безопасности, которые были включены в предыдущий накопительный пакет обновления. Ознакомьтесь с самыми последними накопительными обновлениями для SQL Server.
Статус
Корпорация Майкрософт подтверждает наличие этой проблемы в своих продуктах, которые перечислены в разделе "Применяется к".