KB2562753 - CORREÇÃO: Desempenho lento quando uma consulta MDX usa operadores unários em membros da hierarquia pai/filho no SSAS 2008 R2 ou no SSAS 2012 se você definir um cálculo de escopo nesses membros e se a consulta acessar várias datas em uma dimensão de tempo

Aplica-se a
SQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Express SQL Server 2012 Standard

Sintomas

Considere o seguinte cenário:

  • Você cria uma consulta MDX (Multidimensional Expressions) no Microsoft SQL Server 2008 R2 Analysis Services (SSAS 2008 R2) ou no Microsoft SQL Server 2012 Analysis Services (SSAS 2012).
  • A consulta usa operadores unários em alguns membros em uma hierarquia pai/filho.
  • Você define um cálculo de escopo nesses membros na hierarquia pai/filho.
  • A consulta acessa várias datas em uma dimensão de tempo
  • Você executa a consulta.

Nesse cenário, a consulta tem um desempenho lento. Você também pode receber uma mensagem de erro semelhante à seguinte:

Observação

Executando a consulta ...
Analisador do XML for Analysis: a solicitação do XML for Analysis expirou antes de ser concluída.

Observação Esse problema não ocorrerá se você executar a mesma consulta no Microsoft SQL Server 2000 Analysis Services (SSAS 2000).

Resolução

Para resolver esse problema, aplique o hotfix a seguir. Depois de instalar o hotfix, uma nova propriedade (CellByCellCalculationMode) estará disponível para você configurar no arquivo de configuração do Analysis Services (Msmdsrv.ini). Para resolver esse problema de desempenho, adicione essa propriedade e altere o valor padrão de CellByCellCalculationMode de 0 para 3. Depois de fazer isso, o arquivo Msmdsrv.ini deve conter o seguinte nó na <seção Consulta> :

<CellByCellCalculationMode>3</CellByCellCalculationMode>

      

Informações sobre a atualização cumulativa

SQL Server 2012

A correção para esse problema foi lançada pela primeira vez na Atualização Cumulativa 1 para o SQL Server 2012. Para obter mais informações sobre esse pacote de atualização cumulativa, clique no número abaixo para ler o artigo na Base de Dados de Conhecimento Microsoft:

2679368 Pacote de atualizações cumulativas 1 para SQL Server 2012Observação: como os builds são cumulativos, cada nova versão de correção contém todos os hotfixes e todas as correções de segurança incluídas na versão de correção anterior SQL Server 2012. A Microsoft recomenda que você considere aplicar a versão de correção mais recente que contém esse hotfix. Para obter mais informações, clique no número abaixo para ler o artigo da Base de Dados de Conhecimento Microsoft:

2692828 As SQL Server builds de 2012 lançadas após o lançamento do SQL Server 2012 Você deve aplicar um hotfix do SQL Server 2012 a uma instalação do SQL Server 2012.

SQL Server 2008 R2

A correção para esse problema foi lançada pela primeira vez na Atualização Cumulativa 8. Para obter mais informações sobre como obter esse pacote de atualizações cumulativas para o SQL Server 2008 R2, clique no número abaixo para ler o artigo na Base de Dados de Conhecimento Microsoft:

2534352 Pacote de atualização cumulativa 8 para SQL Server 2008 R2 Observação Como os builds são cumulativos, cada nova versão de correção contém todos os hotfixes e todas as correções de segurança incluídas na versão anterior de correção do SQL Server 2008 R2. Recomendamos que você considere aplicar a versão de correção mais recente que contém esse hotfix. Para obter mais informações, clique no número abaixo para ler o artigo da Base de Dados de Conhecimento Microsoft:

981356 As compilações do SQL Server 2008 R2 lançadas após o SQL Server 2008 R2

SQL Server 2008 R2 Service Pack 1

                
A correção para esse problema foi lançada pela primeira vez na Atualização Cumulativa 4 para o SQL Server 2008 R2 Service Pack 1. Para obter mais informações sobre como obter esse pacote de atualizações cumulativas, clique no número abaixo para ler o artigo na Base de Dados de Conhecimento Microsoft:

2633146 Pacote de atualizações cumulativas 4 para o SQL Server 2008 R2 Service Pack 1Observação: como os builds são cumulativos, cada nova versão de correção contém todos os hotfixes e todas as correções de segurança incluídas na versão anterior de correção do SQL Server 2008 R2. Recomendamos que você considere aplicar a versão de correção mais recente que contém esse hotfix. Para obter mais informações, clique no número abaixo para ler o artigo da Base de Dados de Conhecimento Microsoft:

2567616 As compilações do SQL Server 2008 R2 lançadas após o SQL Server 2008 R2 Service Pack 1

Status

A Microsoft confirmou que este é um problema nos produtos da Microsoft listados na seção "Aplica-se a".

Mais informações

Para obter mais informações sobre operadores unários, visite o seguinte site do MSDN:

Informações gerais sobre operadores unários
        
Para obter mais informações sobre a política SCOPE, visite o seguinte site do MSDN:

Informações gerais sobre a instrução SCOPE