FIX: An MDX query in SQL Server 2008 R2 runs very slowly if the query contains nested Crossjoin functions

Article translations Article translations
Article ID: 2707185 - View products that this article applies to.

Microsoft distributes Microsoft SQL Server 2008 R2 SP1 fixes as one downloadable file. Because the fixes are cumulative, each new release contains all the hotfixes and all the security fixes that were included with the previous SQL Server 2008 R2 SP1 fix release.

Expand all | Collapse all

On This Page

Symptoms

Consider the following scenario. You run an MDX query that uses nested Crossjoin functions in Microsoft SQL Server 2008 R2. The nested Crossjoin functions reference some interleaved hierarchies. In this scenario, the query runs very slowly, and SQL Server 2008 R2 may stop responding.

For example, you run an MDX query that resembles the following:
CrossJoin (CrossJoin (CrossJoin (CrossJoin([Dimension1 Hierarchy], [Dimension1 Hierarchy])), [Dimension1 Hierarchy]), [Dimension2 Hierarchy]), [Dimension1 Hierarchy])
Notes
  • In interleaved hierarchies, nested Crossjoin functions reference different dimension hierarchies.
  • This issue does not occur in SQL Server 2008.


Cause

This issue occurs because the memory that is needed to group hierarchies from the same dimension increases exponentially and is finally used up.

Resolution


Cumulative update information

SQL Server 2008 R2 Service Pack 2

The fix for this issue was first released in Cumulative Update 3. For more information about how to obtain this cumulative update package for SQL Server 2008 R2 Service Pack 2, click the following article number to view the article in the Microsoft Knowledge Base:
2754552 Cumulative update package 3 for SQL Server 2008 R2 Service Pack 2
Note Because the builds are cumulative, each new fix release contains all the hotfixes and all the security fixes that were included with the previous SQL Server 2008 R2 Service Pack 2 fix release. We recommend that you consider applying the most recent fix release that contains this hotfix. For more information, click the following article number to view the article in the Microsoft Knowledge Base:
2730301 The SQL Server 2008 R2 builds that were released after SQL Server 2008 R2 Service Pack 2 was released

SQL Server 2008 R2 SP1

The fix for this issue was first released in Cumulative Update 8. For more information about how to obtain this cumulative update package for SQL Server 2008 R2, click the following article number to view the article in the Microsoft Knowledge Base:
2723743 Cumulative update package 8 for SQL Server 2008 R2 Service Pack 1
Note Because the builds are cumulative, each new fix release contains all the hotfixes and all the security fixes that were included with the previous SQL Server 2008 R2 fix release. We recommend that you consider applying the most recent fix release that contains this hotfix. For more information, click the following article number to view the article in the Microsoft Knowledge Base:
2567616 The SQL Server 2008 R2 builds that were released after SQL Server 2008 R2 Service Pack 1 was released

Status

Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.

Workaround

To work around this issue, change the query to put the second dimension hierarchy in the outer Crossjoin function. For example, rewrite the query to resemble the following:
CrossJoin
(CrossJoin
(CrossJoin 
(CrossJoin([Dimension1 Hierarchy], [Dimension1 Hierarchy])),
[Dimension1 Hierarchy]), 
[Dimension1 Hierarchy]), 
[Dimension2 Hierarchy])


Properties

Article ID: 2707185 - Last Review: October 15, 2012 - Revision: 3.0
Applies to
  • Microsoft SQL Server 2008 R2 Analysis Services
Keywords: 
kbqfe kbfix kbsurveynew kbexpertiseadvanced KB2707185

Give Feedback

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com