Microsoft 将 Microsoft SQL Server 2012 修复分发为一个可下载文件。 由于修补程序是累积的,因此每个新版本都包含以前的 SQL Server 2012 修复版本附带的所有修补程序和所有安全修补程序。
症状
请考虑以下情况:
-
安装 Microsoft SQL Server 2012 PowerPivot for Microsoft Excel 2010 或 SQL Server 2012 Analysis Services。 为安装使用表格部署模式。
-
模型中存在包含许多基本列和计算列的表。 其中一个计算列使用相关的函数数据分析表达式(DAX)。
-
对表执行 ProcessFull 操作。
在此方案中,使用相关函数的计算列可能包含空值。 此外,SQL Server 2012 间歇性地崩溃。 如果满足以下条件,则会发生此问题:
-
该表包含多个传出关系。
-
至少有两个关系具有相同的外键列。
-
每个关系的主键列具有相同的名称。
注意仅当存在包含相关函数的计算列时,才会出现此问题。 如果存在依赖于其中一个关系的对象,则可能会遇到类似问题。
原因
出现此问题的原因是,随机选择了依赖于计算列的关系。 因此,处理关系之前将处理依赖于关系的计算列。
解决方案
累积更新信息
SQL Server 2012
此问题的修补程序首次在累积更新2中发布。有关如何为 SQL Server 2012 获取此累积更新包的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
2703275 SQL Server 2012 累积更新包2注意 由于这些版本是累积的,因此每个新的修复版本都包含以前的 SQL Server 2012 修复版本附带的所有修补程序和所有安全修补程序。 我们建议你考虑应用包含此修补程序的最新修复版本。 有关更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
2692828 在 SQL Server 2012 发布后发布的 SQL Server 2012 版本
状态
Microsoft 已确认这是在“适用范围”部分中列出的 Microsoft 产品存在的问题。
解决方法
若要解决此问题,请不要对每个关系使用相同的主键列名称。