A Microsoft distribui as correções R2 SP1 do Microsoft SQL Server 2008 como um ficheiro transferível. Como as correções são cumulativas, cada nova versão contém todos os hotfixes e todas as correções de segurança que foram incluídas com o anterior lançamento de correção R2 SP1 do SQL Server 2008.
Sintomas
Considere o seguinte cenário. Executou uma consulta MDX que utiliza funções de Crossjoin aninhadas no Microsoft SQL Server 2008 R2. As funções de Crossjoin aninhadas referem algumas hierarquias intercaladas. Neste cenário, a consulta corre muito lentamente, e o SQL Server 2008 R2 pode parar de responder. Por exemplo, você executou uma consulta MDX que se assemelha ao seguinte:
CrossJoin (CrossJoin (CrossJoin (CrossJoin([Dimension1 Hierarchy], [Dimension1 Hierarchy])), [Dimension1 Hierarchy]), [Dimension2 Hierarchy]), [Dimension1 Hierarchy])Notas
-
Nas hierarquias intercaladas, as funções de Crossjoin aninhadas referem-se a diferentes hierarquias de dimensão.
-
Este problema não ocorre no SQL Server 2008.
Causa
Esta questão ocorre porque a memória necessária para agrupar hierarquias da mesma dimensão aumenta exponencialmente e é finalmente usada.
Resolução
Informação de atualização cumulativa
Sql Server 2008 R2 Service Pack 2
A correção para este problema foi lançada pela primeira vez na Atualização Cumulativa 3. Para obter mais informações sobre como obter este pacote de atualização cumulativa para SQL Server 2008 R2 Service Pack 2, clique no seguinte número de artigo para ver o artigo na Base de Conhecimento da Microsoft:
2754552 Pacote de atualização cumulativo 3 para SQL Server 2008 R2 Service Pack 2 Nota Como as construções são cumulativas, cada nova versão de correção contém todos os hotfixes e todas as correções de segurança que foram incluídas com o anterior lançamento de correção do SqL Server 2008 R2 Service Pack 2. Recomendamos que considere aplicar o mais recente lançamento de correção que contém este hotfix. Para mais informações, clique no número de artigo que se segue para ver o artigo na Base de Dados de Conhecimento Microsoft:
2730301 O SQL Server 2008 R2 constrói que foram lançados após o lançamento do SQL Server 2008 R2 Service Pack 2
SQL Server 2008 R2 SP1
A correção para este problema foi lançada pela primeira vez na Atualização Cumulativa 8. Para obter mais informações sobre como obter este pacote de atualização cumulativa para SQL Server 2008 R2, clique no seguinte número de artigo para ver o artigo na Base de Conhecimento da Microsoft:
2723743 Pacote de atualização cumulativo 8 para SQL Server 2008 R2 Service Pack 1Nota Como as construções são cumulativas, cada nova versão de correção contém todos os hotfixes e todas as correções de segurança que foram incluídas com o anterior lançamento de correção R2008 do SQL Server 2008. Recomendamos que considere aplicar o mais recente lançamento de correção que contém este hotfix. Para mais informações, clique no número de artigo que se segue para ver o artigo na Base de Dados de Conhecimento Microsoft:
2567616 O SQL Server 2008 R2 constrói que foram lançados após o lançamento do SQL Server 2008 R2 Service Pack 1
Estado
A Microsoft confirmou que este problema ocorre nos produtos da Microsoft listados na secção "Aplica-se a".
Solução
Para contornar esta questão, altere a consulta para colocar a hierarquia da segunda dimensão na função Crossjoin exterior. Por exemplo, reescreva a consulta para se assemelhar ao seguinte:
CrossJoin(CrossJoin(CrossJoin (CrossJoin([Dimension1 Hierarchy], [Dimension1 Hierarchy])),[Dimension1 Hierarchy]), [Dimension1 Hierarchy]), [Dimension2 Hierarchy])