KB3208179-Fix: MDX-Abfrage gibt Fehler zurück, wenn der Wert von MaxRolapOrConditions größer als 256 in SQL Server Analysis Services ist

Problembeschreibung

Angenommen, Sie verwenden den relationalen OLAP-Speichermodus (ROLAP) für eine Measuregruppe in einer Instanz von SQL Server 2014 oder 2016 Analysis Services. Nachdem Sie den Wert der erweiterten Eigenschaft MaxRolapOrConditions auf mehr als 256 festgesetzt haben, führen Sie MDX-Abfragen für diese Measuregruppe aus. In diesem Fall erhalten Sie Fehler, die wie folgt aussehen:

#Error der DOM-Parser konnte den Datenstrom nicht laden und analysieren. URL: ' ' Reason: ' Operation abgebrochen: maximale-Element-tiefen-Einschränkung verletzt. ' Quelle: "'. Dateiposition: 0. Zeile: 6.

Ursache

Analysis Services generiert ein Pseudo-SQL-XML-Dokument, das dann durch ein XML-Stylesheet analysiert wird, um die endgültige SQL-Anweisung zu generieren, die an die relationale Quelle gesendet wird. Beim Generieren des anfänglichen internen XML-Dokuments werden die Bedingungen für eine Spalte als geschachtelte XML-Elemente wie im folgenden Beispiel generiert:

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

Die standardmäßige MaxElementDepth-Eigenschaft für ein MSXML-DOM-Objekt, das von Analysis Services zum Erstellen des XML-Dokuments verwendet wird, ist 256 in MSXML 6.0. wenn die MaxROLAPOrConditions -Konfiguration also erhöht wird, kann das generierte XML-Dokument diese maximale Tiefe überschreiten.

Fehlerbehebung

Dieses Problem wurde im folgenden kumulativen Update für SQL Server behoben:

    Kumulatives Update 5 für SQL Server 2016 RTM

    Kumulatives Update 2 für SQL Server 2016 SP1 

Kumulatives Update 4 für SQL Server 2014 SP2

Kumulatives Update 10 für SQL Server 2014 SP1

Informationen zu kumulativen Updates für SQL Server

Jedes neue kumulative Update für SQL Server enthält alle Hotfixes und alle Sicherheitsupdates, die im vorherigen kumulativen Update enthalten waren. Schauen Sie sich die neuesten kumulativen Updates für SQL Server an:

Neuestes Kumulatives Update für SQL Server 2016

Neuestes Kumulatives Update für SQL Server 2014

Status

Microsoft hat bestätigt, dass es sich hierbei um ein Problem bei den in diesem Artikel genannten Microsoft-Produkten handelt.

Weitere Informationen

Mit diesem Fix wird die Generierung des XML-zwischendokuments geändert, sodass jede zusätzliche oder Bedingung nicht im vorherigen oder XML-Element geschachtelt ist. Daher können Sie die MaxROLAPOrConditions über 256 hinaus erhöhen. Es gibt jedoch weiterhin praktische Einschränkungen hinsichtlich der Anzahl oder Bedingungen, die verwendet werden können. Wenn sich die Anzahl der oder die Bedingungen erhöht, kann die Komplexität der generierten SQL-Anweisung die Kapazität des relationalen Datenbankservers überschreiten, wodurch neue Fehlerbedingungen entstehen. Im folgenden finden Sie Beispiele für Bedingungen, die neue Fehler verursachen können:

  • Überschreiten der maximalen Anzahl von Parametern in einer Anweisung

  • Überschreiten der maximalen Anzahl von Bedingungen in einer Where -Klausel

  • Fehler beim Analysieren der SQL-Abfragezeichenfolge

  • Überschreitet die maximale Größe einer SQL-Abfragezeichenfolge

Daher empfiehlt es sich, alle Anpassungen des MaxROLAPOrConditions -Konfigurationswerts mit Vorsicht vorzunehmen.

Informationsquellen

Informieren Sie sich über die Terminologie , die Microsoft zum Beschreiben von Softwareupdates verwendet.

Benötigen Sie weitere Hilfe?

Ihre Office-Fähigkeiten erweitern
Schulungen erkunden
Neue Funktionen als Erster erhalten
Microsoft Insider beitreten

War diese Information hilfreich?

Vielen Dank für Ihr Feedback!

Vielen Dank für Ihr Feedback. Es klingt, als ob es hilfreich sein könnte, Sie mit einem unserer Office-Supportmitarbeiter zu verbinden.

×