Перейти к основному контенту
Поддержка
Войдите с помощью учетной записи Майкрософт
Войдите или создайте учетную запись.
Здравствуйте,
Выберите другую учетную запись.
У вас несколько учетных записей
Выберите учетную запись, с помощью которой нужно войти.

Проблемы

Предположим, что вы используете режим хранилища OLAP (ROLAP) для группы мер в экземпляре служб аналитики SQL Server 2014 или 2016. После установки для свойства MaxRolapOrConditions Advanced значения больше 256 вы выполняете запросы МНОГОМЕРных выражений для этой группы мер. В этом случае появляются ошибки, похожие на приведенные ниже.

#Error средству синтаксического анализа DOM не удалось загрузить и проанализировать поток. URL-адрес: "причина:" Операция прервана: нарушено ограничение по максимальной глубине элемента. Источник: "". Расположение файла: 0. Строка: 6.

Причина

Службы Analysis Services создают XML-документ псевдо-SQL, который затем анализируется с помощью таблицы стилей XML для создания конечной инструкции SQL, которая отправляется в реляционный источник. При формировании исходного внутреннего XML-документа или условия для столбца создаются как вложенные XML-элементы, как показано в следующем примере:

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

Свойство MaxElementDepth по умолчанию для объекта MSXML DOM, которое используется службами Analysis Services для создания XML-документа, — 256 в MSXML 6.0. Поэтому при увеличении конфигурации MaxROLAPOrConditions созданный XML-документ может превысить эту максимальную глубину.

Решение

Эта проблема устранена в следующем накопительном обновлении SQL Server:

    Накопительное обновление 5 для SQL Server 2016 RTM

    Накопительное обновление 2 для SQL Server 2016 с пакетом обновления 1 (SP1) 

Накопительное обновление 4 для SQL Server 2014 с пакетом обновления 2 (SP2)

Накопительное обновление 10 для SQL Server 2014 с пакетом обновления 1 (SP1)

Сведения о накопительных обновлениях для SQL Server

Все новые накопительные обновления для SQL Server содержат все исправления и все исправления для системы безопасности, которые были включены в предыдущий накопительный пакет обновления. Ознакомьтесь с самыми последними накопительными обновлениями для SQL Server.

Последнее накопительное обновление для SQL Server 2016

Последнее накопительное обновление для SQL Server 2014

Статус

Корпорация Майкрософт подтверждает наличие этой проблемы в своих продуктах, которые перечислены в разделе "Применяется к".

Дополнительная информация

Это исправление изменяет способ создания промежуточного XML-документа, чтобы каждое дополнительное или условие не было вложено в предыдущий или XML-элемент. Таким образом, вы можете расширить MaxROLAPOrConditions за пределами 256. Тем не менее, существуют практические ограничения на количество или условия, которые можно использовать. При увеличении числа или условий сложность создаваемой инструкции SQL может превышать емкость реляционного сервера базы данных, что приводит к новым условиям ошибки. Ниже приведены примеры условий, которые могут привести к новым ошибкам.

  • Превышение максимального количества параметров в операторе

  • Превышение максимального количества условий в предложении WHERE

  • Ошибки при анализе строки запроса SQL

  • Превышение максимального размера строки запроса SQL

Поэтому мы рекомендуем соблюдать осторожность при любых изменениях значения конфигурации MaxROLAPOrConditions .

Ссылки

Ознакомьтесь с терминологией , которую корпорация Майкрософт использует для описания обновлений программного обеспечения.

Нужна дополнительная помощь?

Нужны дополнительные параметры?

Изучите преимущества подписки, просмотрите учебные курсы, узнайте, как защитить свое устройство и т. д.

В сообществах можно задавать вопросы и отвечать на них, отправлять отзывы и консультироваться с экспертами разных профилей.

Были ли сведения полезными?

Насколько вы удовлетворены качеством перевода?
Что повлияло на вашу оценку?
После нажатия кнопки "Отправить" ваш отзыв будет использован для улучшения продуктов и служб Майкрософт. Эти данные будут доступны для сбора ИТ-администратору. Заявление о конфиденциальности.

Спасибо за ваш отзыв!

×