Корпорация Майкрософт распространяет исправления для Microsoft SQL Server 2008 R2 SP1 в виде одного загружаемого файла. Поскольку исправления являются кумулятивными, каждый новый выпуск содержит все исправления и исправления для системы безопасности, которые были включены в предыдущий выпуск исправлений для SQL Server 2008 R2 с пакетом обновления 1 (SP1).
Проблемы
Вот сценарий, описанный ниже. Вы запускаете запрос многомерных выражений, в котором используются вложенные функции перекрестного соединения в Microsoft SQL Server 2008 R2. Вложенные функции перекрестного соединения ссылаются на некоторые иерархии с чередованием. В этом сценарии запрос выполняется очень медленно, а SQL Server 2008 R2 может перестать отвечать на запросы. Например, вы запускаете запрос многомерных выражений, напоминающий следующее:
CrossJoin (CrossJoin (CrossJoin (CrossJoin([Dimension1 Hierarchy], [Dimension1 Hierarchy])), [Dimension1 Hierarchy]), [Dimension2 Hierarchy]), [Dimension1 Hierarchy])Примечания.
-
В иерархиях с чередованием вложенные функции перекрестного соединения ссылаются на разные иерархии измерений.
-
Эта проблема не возникает в SQL Server 2008.
Причина
Эта проблема возникает из-за того, что память, необходимая для группировки иерархий из одного и того же измерения, будет экспоненциальной и, наконец, занята.
Решение
Сведения о накопительном пакете обновления
SQL Server 2008 R2 с пакетом обновления 2 (SP2)
Исправление для этой проблемы впервые выпущено в накопительном обновлении 3. Для получения дополнительных сведений о том, как получить этот накопительный пакет обновления для SQL Server 2008 R2 с пакетом обновления 2 (SP2), щелкните следующий номер статьи базы знаний Майкрософт:
2754552 Накопительный пакет обновления 3 для SQL Server 2008 R2 с пакетом обновления 2 (SP2) Примечание. Так как сборки являются кумулятивными, каждый новый выпуск исправлений содержит все исправления и все исправления безопасности, которые были включены в предыдущий выпуск пакета обновления 2 (SP2) для SQL Server 2008 R2. Рекомендуется установить последнюю версию исправления, которая включает это исправление. Дополнительные сведения см. в следующей статье базы знаний Майкрософт:
2730301 Сборки SQL Server 2008 R2, выпущенные после выпуска SQL Server 2008 R2 с пакетом обновления 2 (SP2)
SQL Server 2008 R2 SP1
Исправление для этой проблемы впервые выпущено в накопительном обновлении 8. Для получения дополнительных сведений о том, как получить этот накопительный пакет обновления для SQL Server 2008 R2, щелкните следующий номер статьи базы знаний Майкрософт:
2723743 Накопительный пакет обновления 8 для SQL Server 2008 R2 с пакетом обновления 1 (SP1)Примечание. Поскольку сборки являются кумулятивными, каждый новый выпуск исправлений содержит все исправления и все исправления безопасности, которые были включены в предыдущий выпуск исправлений для SQL Server 2008 R2. Рекомендуется установить последнюю версию исправления, которая включает это исправление. Дополнительные сведения см. в следующей статье базы знаний Майкрософт:
2567616 Сборки SQL Server 2008 R2, выпущенные после выпуска SQL Server 2008 R2 с пакетом обновления 1 (SP1)
Статус
Корпорация Майкрософт подтверждает наличие этой проблемы в своих продуктах, которые перечислены в разделе "Применяется к".
Обходное решение
Чтобы обойти эту ошибку, измените запрос так, чтобы он поместил вторую иерархию измерения в функцию наружный перекрестный . Например, измените запрос таким образом, чтобы он соответствовал следующему:
CrossJoin(CrossJoin(CrossJoin (CrossJoin([Dimension1 Hierarchy], [Dimension1 Hierarchy])),[Dimension1 Hierarchy]), [Dimension1 Hierarchy]), [Dimension2 Hierarchy])