KB2481245 - 修复:在 SSAS 2008 或 SSAS 2008 R2 中应用复杂筛选器后,数据透视表可能不返回任何值

Microsoft Microsoft SQL Server 2008 和 2008 R2 修补程序作为一个可下载文件分发。 由于修补程序是累积的,因此每个新版本都包含上一个SQL Server 2008 和 2008 R2 修补程序版本中包含的所有修补程序和所有安全修补程序。

症状

请考虑以下情形:

  • 创建Microsoft Excel 2007 或Microsoft Excel 2010工作簿。
  • 将连接添加到 SQL Server 2008 Analysis Services (SSAS 2008) 或 SQL Server 2008 R2 Analysis Services (SSAS 2008 R2) 实例。
  • 在工作簿中创建数据透视表。
  • 将值筛选器中的复杂筛选器应用于数据透视表。 例如,使用基于至少两个维度 的前 10 个筛选器。

在这种情况下,数据透视表可能不会返回任何值。

注意 应用前 10 个筛选器等筛选器时,将创建基于多个维度的筛选器。 因此,当应用自动存在功能时,可能会出现此问题。

原因

出现此问题的原因是,如果自动存在功能应用于非常大的集,则具有复杂筛选器的 MDX 查询返回不正确的结果。

当自动存在的功能集导致潜在的虚拟输出集超过 20 亿个元组时,数据透视表可能不会返回任何值。

注意 仅当子选择语句中的筛选器应用于来自多个维度的层次结构时,才会发生此问题。

解决方法

累积更新信息

SQL Server 2008 Service Pack 2

此问题的修补程序首次在 SQL Server 2008 Service Pack 2 的累积更新 3 中发布。 有关此累积更新包的详细信息,请单击下面的编号以查看Microsoft知识库中的文章:

2498535累积更新包 3 for SQL Server 2008 Service Pack 2Note 由于内部版本是累积的,因此每个新修补程序版本都包含上一个SQL Server 2008 修补程序版本中包含的所有修补程序和所有安全修补程序。 Microsoft建议考虑应用包含此修补程序的最新修补程序版本。 有关更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

2402659 SQL Server 2008 Service Pack 2 发布后发布的SQL Server 2008 内部版本Microsoft SQL Server 2008 修补程序是为特定的SQL Server Service Pack 2 创建。 必须将 SQL Server 2008 Service Pack 2 修补程序应用于安装 SQL Server 2008 Service Pack 2。 默认情况下,SQL Server Service Pack 中提供的任何修补程序都包含在下一个SQL Server Service Pack 中。

SQL Server 2008 R2

此问题的修补程序首次在累积更新 6 中发布。 有关如何为 SQL Server 2008 R2 获取此累积更新包的详细信息,请单击以下编号以查看Microsoft知识库中的文章:

2489376累积更新包 6 for SQL Server 2008 R2 注意 由于内部版本是累积的,因此每个新修补程序版本都包含所有修补程序和上一个 SQL Server 2008 R2 修补程序版本中包含的所有安全修补程序。 建议考虑应用包含此修补程序的最新修补程序版本。 有关更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

981356 在 SQL Server 2008 R2 发布之后发布的 SQL Server 2008 R2 内部版本

SQL Server 2008 Service Pack 1

此问题的修补程序首次发布在累积更新 12 for SQL Server 2008 Service Pack 1 中。 有关此累积更新包的详细信息,请单击下面的编号以查看Microsoft知识库中的文章:

2467236累积更新包 12 for SQL Server 2008 Service Pack 1Note 由于内部版本是累积的,因此每个新修补程序版本都包含所有修补程序和所有安全修补程序,这些修补程序和所有安全修补程序包含在以前的 SQL Server 2008 修补程序版本中。 Microsoft建议考虑应用包含此修补程序的最新修补程序版本。 有关更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

970365 SQL Server 2008 Service Pack 1 发布后发布的SQL Server 2008 内部版本Microsoft SQL Server 2008 修补程序是为特定的SQL Server Service Pack 1 创建的。 必须将 SQL Server 2008 Service Pack 1 修补程序应用于 SQL Server 2008 Service Pack 1 的安装。 默认情况下,SQL Server Service Pack 中提供的任何修补程序都包含在下一个SQL Server Service Pack 中。

状态

Microsoft 已确认在 "适用于" 部分中所列的 Microsoft 产品中存在问题。

参考资料

有关SQL Server的增量服务模型的详细信息,请单击下面的序列号以查看Microsoft知识库中的文章:

935897 SQL Server团队提供了增量服务模型,以便为报告的问题提供修补程序有关SQL Server更新的命名架构的详细信息,请单击以下序列号以查看Microsoft知识库中的文章:

822499 Microsoft SQL Server软件更新包的新命名架构有关软件更新术语的详细信息,请单击以下端口号以查看Microsoft知识库中的文章:

824684 用于描述软件更新Microsoft标准术语的说明