症状
请考虑以下情况:
-
为 Microsoft SQL Server 2012 Master Data Services (MDS)中的数值属性创建测试空值的业务规则。
-
保存并发布业务规则。
-
在 MDS 资源管理器中打开实体,然后运行业务规则以验证实体成员。
在这种情况下,您会收到以下错误消息:
8114:将数据类型 nvarchar 转换为数值型时出错。 执行后的事务计数指示 BEGIN 和 COMMIT 语句的数量不匹配。 以前的计数 = 0,当前计数 = 1。
注意 在应用了 CU3 或更高版本的 SQL Server 2014 MDS 中也会出现此问题。 例如,当你在 MDS 中执行检查日期属性是否为空的业务规则时,将收到以下错误消息:
将数据类型 nvarchar 转换为 datetime 时出错
解决方案
在 SQL Server 的以下累积更新中,此问题首先已修复。
SQL Server 2014 累积更新6 /en-us/help/3031047
SQL Server 2012 SP2 的累积更新4 /en-us/help/3007556
SQL Server 2012 SP1 的累积更新14 /en-us/help/3023636
SQL Server 的每个新的累积更新均包含以前的累积更新中包含的所有修补程序和所有安全修补程序。 查看 SQL Server 的最新累积更新:
状态
Microsoft 已确认这是在“适用范围”部分中列出的 Microsoft 产品存在的问题。