A Microsoft distribui o Microsoft SQL Server 2008 Service Pack 1 (SP1) ou o SQL Server 2008 R2 corre 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 sql Server 2008 Service Pack 1 (SP1) ou SQL Server 2008 R2.
Sintomas
Considere o seguinte cenário:
-
Tem uma consulta de Expressões Multidimensionais (MDX) que satisfaz as seguintes condições nos Serviços de Análise do Microsoft SQL Server 2008 (SSAS) 2008 ou no Microsoft SQL Server 2008 R2 Analysis Services (SSAS) 2008 R2:
-
A consulta utiliza a função CROSSJOIN.
-
A expressão da consulta tem mais de dois conjuntos de argumentos que são compostos por tuples de diferentes hierarquias de atributos na mesma dimensão.
-
Estes conjuntos são separados por outro conjunto que é composto por tuples de outra dimensão.
-
O resultado teórico definido para a função CROSSJOIN é geralmente superior a 4.294.967.296 tuples. Por exemplo, tem uma consulta MDX que contém o seguinte:
WITH SET S AS CROSSJOIN([Product].[Large Photo].[Large Photo], [Customer].[Customer].[Customer], [Product].[Product].[Product])SELECT {} ON 0,S.ITEM(1) ON 1FROM [Adventureworks]
-
-
Tente fazer a consulta.
Neste cenário, a consulta não funciona. Além disso, recebe a seguinte mensagem de erro:
A expressão contém uma função que não pode funcionar num conjunto com mais de 4.294.967.296 tuples.
Nota Este tipo de consulta MDX pode ser gerado automaticamente por uma tabela De Pivot Excel.
Resolução
Informação de atualização cumulativa
SQL Server 2008 SP1
A correção para este problema foi lançada pela primeira vez na Atualização Cumulativa 11. Para obter mais informações sobre como obter este pacote de atualização cumulativa para o SQL Server 2008 Service Pack 1 (SP1), clique no seguinte número de artigo para ver o artigo na Base de Conhecimento da Microsoft:
2413738 Pacote de atualização cumulativo 11 para SQL Server 2008 Service Pack 1 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 Service Pack 1 (SP1). 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:
970365 O SQL Server 2008 constrói que foram lançados após o lançamento do SQL Server 2008 Service Pack 1
SQL Server 2008 R2
A correção para este problema foi lançada pela primeira vez na Atualização Cumulativa 5. 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:
2438347 Pacote de atualização cumulativa 5 para SQL Server 2008 R2 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 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:
981356 O SQL Server 2008 R2 constrói que foram lançados após o lançamento do SQL Server 2008 R2
Pacote de serviço SQL Server 2008 2
A correção para este problema foi lançada pela primeira vez na Cumulativa Update 2 para SQL Server 2008 Service Pack 2. Para obter mais informações sobre este pacote de atualização cumulativa, clique no seguinte número de artigo para ver o artigo na Base de Conhecimento da Microsoft:
2467239 Pacote de atualização cumulativo 2 para SQL Server 2008 Service Pack 2Nota 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 SQL Server 2008. A Microsoft recomenda 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:
2402659 O SQL Server 2008 constrói que foram lançados após o lançamento do SQL Server 2008 Service Pack 2 Os hotfixes do Microsoft SQL Server 2008 são criados para pacotes específicos de serviços sql Server. Tem de aplicar um hotfix SQL Server 2008 Service Pack 2 a uma instalação do SQL Server 2008 Service Pack 2. Por predefinição, qualquer hotfix que seja fornecido num pacote de serviços SQL Server está incluído no próximo pacote de serviços sql Server.
Solução
Para contornar esta questão, utilize uma expressão que tenha dois atributos adjacentes da mesma dimensão na consulta. Por exemplo, a consulta MDX contém o seguinte:
WITH SET S AS CROSSJOIN([Product].[Large Photo].[Large Photo], [Product].[Product].[Product], [Customer].[Customer].[Customer])SELECT {} ON 0,S.ITEM(1) ON 1FROM [Adventureworks]
Estado
A Microsoft confirmou que este problema ocorre nos produtos da Microsoft listados na secção "Aplica-se a".