Iniciar sessão com a Microsoft
Iniciar sessão ou criar uma conta.
Olá,
Selecione uma conta diferente.
Tem várias contas
Selecione a conta com a qual pretende iniciar sessão.

Sintomas

Assuma que utiliza o modo de armazenamento relacional OLAP (ROLAP) para um grupo de medidas num caso de SQL Server 2014 ou 2016 Serviços de Análise. Depois de definir o valor da propriedade avançada MaxRolapOrConditions para mais de 256, executa consultas MDX nesse grupo de medidas. Neste caso, recebe erros que se assemelham ao seguinte:

#Error O analisador DOM não conseguiu carregar e analisar o fluxo. URL:'' Razão: "Operação abortada: restrição de profundidade de elemento máximo violada." Fonte:'. Posição do ficheiro: 0. Linha: 6.

Causa

Os Serviços de Análise geram um documento pseudo-SQL XML, que é então analisado através de uma folha de Estilo XML para gerar a declaração final de SQL que é enviada para a fonte relacional. Ao gerar o documento inicial de XML interno, as condições de uma coluna são geradas como elementos XML aninhados como no exemplo seguinte:

<OR> <Condition>column1 = value1</Condition>  <OR>   <Condition>column1 = value2</Condition>    <OR>     <Condition>column1 = value3</Condition>    </OR>  </OR></OR> 

A propriedade MaxElementDepth padrão para um objeto MSXML DOM que é usado pelos Serviços de Análise para construir o documento XML é de 256 em MSXML 6.0.Portanto, quando a configuração MaxROLAPOrConditions é aumentada, o documento XML gerado pode exceder esta profundidade máxima.

Resolução

Esta emissão é corrigida na seguinte atualização cumulativa para o SQL Server:

    Atualização Cumulativa 5 para SQL Server 2016 RTM

    Atualização Cumulativa 2 para SQL Server 2016 SP1 

Atualização Cumulativa 4 para SQL Server 2014 SP2

Atualização cumulativa 10 para SQL Server 2014 SP1

Sobre atualizações cumulativas para o SQL Server

Cada nova atualização cumulativa do SQL Server contém todos os hotfixes e todas as correções de segurança que foram incluídas com a atualização cumulativa anterior. Confira as últimas atualizações cumulativas do SQL Server:

Última atualização cumulativa para SQL Server 2016

Última atualização cumulativa para SQL Server 2014

Estado

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

Mais Informações

Esta correção altera a forma como o documento XML intermédio é gerado, de modo que cada condição adicional de OR não é aninhada no elemento OR XML anterior. Portanto, pode aumentar as Condições MaxROLAPOr para além de 256. No entanto, ainda existem limitações práticas ao número de condições de OR que podem ser utilizadas. À medida que o número de condições de OR aumenta, a complexidade da declaração SQL gerada pode exceder a capacidade do servidor de base de dados relacional, causando novas condições de erro. Seguem-se exemplos de condições que podem causar novos erros:

  • Excedendo o número máximo de parâmetros em comunicado

  • Excedendo o número máximo de condições numa cláusula

  • Erros na análise da cadeia de consulta SQL

  • Excedendo o tamanho máximo de uma cadeia de consulta SQL

Por isso, recomendamos que quaisquer ajustes ao valor de configuração MaxROLAPOrConditions sejam feitos com cuidado.

Referências

Saiba mais sobre a terminologia que a Microsoft utiliza para descrever atualizações de software.

Precisa de mais ajuda?

Quer mais opções?

Explore os benefícios da subscrição, navegue em cursos de formação, saiba como proteger o seu dispositivo e muito mais.

As comunidades ajudam-no a colocar e a responder perguntas, a dar feedback e a ouvir especialistas com conhecimentos abrangentes.

Estas informações foram úteis?

Quão satisfeito está com a qualidade do idioma?
O que afetou a sua experiência?
Ao selecionar submeter, o seu feedback será utilizado para melhorar os produtos e serviços da Microsoft. O seu administrador de TI poderá recolher estes dados. Declaração de Privacidade.

Obrigado pelo seu feedback!

×