Поделиться через


Критические изменения функций служб Analysis Services в SQL Server 2012

В этом разделе описаны критические изменения в службах Службы SQL Server 2012 Analysis Services (SSAS). Эти изменения могут нарушать работу приложений, скриптов или функций, основанных на более ранних версиях SQL Server.

В этом разделе:

  • Breaking Changes in SQL Server 2012 SP1

  • Breaking Changes in SQL Server 2012

  • Breaking Changes in SQL Server 2008 and SQL Server 2008 R2

Важные изменения в SQL Server 2012 с пакетом обновления 1 (SP1)

Изменения кода, относящиеся к глобализации, могут нарушать работу некоторых приложений. Известные проблемы:

  • Учет регистра в идентификаторах объектов
    Изменение кода, нацеленное на то, чтобы идентификаторы объектов не учитывали регистр, для некоторых языков приводит к обратному результату. Цель в том, чтобы все идентификаторы объектов не учитывали регистр вне зависимости от сортировки. Это изменение согласует работу Analysis Services с другими приложениями, обычно используемых в составе одного и того же решения.

    Для языков, письменность которых основывается на 26 буквах латинского алфавита, в идентификаторах объектов теперь не учитывается регистр, что правильно.

    Для кириллицы и других языков, где различаются прописные и строчные буквы (греческий, армянский и коптский), в идентификаторах объектов теперь учитывается регистр. Критические изменения могут с наибольшей вероятностью произойти при разном регистре в идентификаторе объекта и в ссылке на него (например, в сценарии обработки, где ссылка на идентификатор объекта приводится в нижнем регистре). В будущем это поведение, по-видимому, изменится, но в качестве временного решения предлагаем изменить скрипты таким образом, чтобы использовать такой же регистр, как и в идентификаторе объекта.

Критические изменения в SQL Server 2012

В этом разделе описаны критические изменения в компонентах служб Службы SQL Server 2012 Analysis Services (SSAS) в версии SQL Server 2012.

Проблема

Описание

Сравнения строковых значений с логическими теперь возвращают ошибку.

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

Удалены команды для установки PowerPivot для SharePoint.

Программа установки работает, но больше не выполняет настройку PowerPivot для SharePoint. Команды установки, собиравшие значения для действий конфигурации, удалены. Это касается команд /FARMACCOUNT, /FARMPASSWORD, /PASSPHRASE и /FARMADMINPORT.

Если у вас созданы скрипты для автоматической установки, то их нужно изменить в части установки PowerPivot для SharePoint. Кроме того, можно использовать командлеты PowerShell для настройки сервера в автоматическом режиме. Дополнительные сведения см. в разделах Установка PowerPivot из командной строки и Настройка PowerPivot с помощью Windows PowerShell.

Функция DATESBETWEEN в DAX вводит в действие уникальные значения в столбец даты, ссылки на которые указываются как на аргумент.

В SQL Server 2012 с пакетом обновления 1 (SP1) появились новые требования проверки для функции DATESBETWEEN.

Формулы DAX, в которых используется функция логики операций со временем DATESBETWEEN, могут возвращать ошибку, если значения в столбце даты, ссылка на который указывается как на аргумент, не являются уникальными. В каждой строке столбцов даты, ссылка на которые указывается как на первый аргумент для всех функций логики операций со временем DAX, должно быть уникальное значение.

Использование операторов сравнения в формулах DAX со значениями несовместимых типов данных.

При работе с SQL Server 2012 в формулах DAX с помощью оператора сравнения можно сравнивать строковое значение с целочисленным. Например, стоковое значение «45» с целочисленным значением «45». Результатом будет допустимое сравнение. А при работе в SQL Server 2012 с пакетом обновления 1 (SP1) приведение строки к целому числу для принудительного применения арифметических правил больше не допускается. При вычислении формул, которые сравнивают строковое значение с целочисленным, будет возвращена ошибка. Преобразовать значение в другой формат можно с помощью функций приведения DAX (VALUE, FORMAT).

Использование ранжирующих функций в формулах DAX для сравнения пустых значений с пустой строкой ("").

При работе с SQL Server 2012 в DAX ранжирующие функции ранжируют BLANK() с 0 в числовых столбцах, а BLANK() ― с пустой строкой в текстовых столбцах. При работе же с SQL Server 2012 с пакетом обновления 1 (SP1) в DAX ранжирующие функции ранжируют BLANK() с 0 в числовых столбцах, а вот BLANK() с пустой строкой в текстовых столбцах больше не ранжируется. BLANK() ранжируется рядом с пустой строкой как немного меньше, чем пустая стока.

Значок стрелки, используемый со ссылкой «В начало»Top

Критические изменения в SQL Server 2008/SQL Server 2008 R2

Этот раздел содержит описание критических изменений по сравнению с предыдущими выпусками. При обновлении от SQL Server 2005 следует ознакомиться с критическими изменения, которые появились в SQL Server 2008 и SQL Server 2008 R2.

Проблема

Описание

Функция «shallow exists» теперь по-другому работает с именованными наборами, содержащими перечисляемые элементы или перекрестные соединения наборов перечисления.

В версии Службы SQL Server 2005 Analysis Services (SSAS) функция «shallow exists» не работала с именованными наборами, содержащими перечисляемые элементы или перекрестные соединения наборов перечисления. Для обеспечения обратной совместимости с исходным выпуском и пакетом обновления 1 (SP1) для Службы SQL Server 2005 Analysis Services (SSAS) следует присвоить параметру «ConfigurationSettings\OLAP\Query\NamedSetShallowExistsMode» значение 1; для обеспечения обратной совместимости со службами Службы SQL Server 2005 Analysis Services (SSAS) с пакетом обновления 2 (SP2) следует присвоить ему значение 2.

Функции VBA обрабатывают значения NULL и пустые значения иначе, чем это было реализовано в службах Службы SQL Server 2005 Analysis Services (SSAS) .

Если в качестве аргумента передавалось значение NULL или пустое значение, функции VBA в службах Службы SQL Server 2005 Analysis Services (SSAS) возвращали значение 0 или пустую строку. В SQL Server 2008 они будут возвращать значение NULL.

Работа мастера миграции заканчивается сбоем, потому что объект DSO не установлен по умолчанию.

По умолчанию SQL Server 2008 не устанавливает компонент обратной совместимости объектов DSO. Пакет обратной совместимости устанавливается по умолчанию, но компонент объектов DSO этого пакета будет отключен. Поскольку этот компонент требуется для функционирования мастера миграции служб SQL Server Analysis Services, мастер даст сбой, если компонент не будет установлен. Для установки компонента объектов DSO выполните следующие действия:

  1. Откройте панель управления.

  2. В Windows XP или Windows 2003 Server выберите Установка и удаление программ. В Windows Vista и Windows Server 2008 выберите пункт Программы и компоненты.

  3. Правой кнопкой мыши щелкните Обратная совместимость Microsoft SQL Server 2005, а затем выполните команду Изменить.

  4. В окне мастера установки обратной совместимости нажмите кнопку Далее

  5. На странице «Сопровождение программы» щелкните Изменить, затем нажмите кнопку Далее.

  6. Если объекты DSO недоступны, на странице «Выбор компонентов» щелкните стрелку вниз и выберите пункт Этот компонент будет установлен на локальный жесткий диск. Нажмите кнопку Далее.

  7. На странице «Все готово для изменения программы» нажмите кнопку Установить.

  8. По завершении установки нажмите кнопку Готово.

После выполнения процедуры миграции компонент объектов DSO можно удалить; для этого нужно выполнить ранее описанные шаги, изменив при этом параметр для объектов DSO на «Компонент будет недоступен».

Если пакет обратной совместимости не установлен, его можно установить с установочного носителя SQL Server 2008. Обратите внимание, что предусмотрены версии для каждой целевой архитектуры (x86, x64, ia64). Эти версии находятся в следующих каталогах:

x86\Setup\x86\SQLServer2005_BC.msi

x64\Setup\x64\SQLServer2005_BC.msi

ia64\Setup\ia64\SQLServer2005_BC.msi

Не рекомендуется размещать секции в папке Data.

Папкой Data управляет сервер; он создает и удаляет папки в процессе создания, удаления и изменения объектов. Поэтому не рекомендуется хранить секции внутри папки Data, особенно во вложенных папках для баз данных, кубов и измерений. Сервер допускает выполнение таких операций с помощью команд «Создать» или «Изменить», но он выводит предупреждение. При обновлении баз данных служб Analysis Services 2005 до версии служб SQL Server 2008 Analysis Services, в которой местом хранения секций является папка Data, базы данных будут работать. Для выполнения операций восстановления или синхронизации потребуется, чтобы место хранения секций было вынесено за пределы папки Data.

Возможно получение непредвиденных результатов при выполнении запросов, в которых используется ключевое слово многомерных выражений «EXISTING» в ProClarity Analytics Server и в Microsoft Office PerformancePoint Server 2007.

В некоторых сценариях ProClarity Analytics Server и Microsoft Office PerformancePoint Server 2007 неправильно используют ключевое слово EXISTING в многомерных выражениях. Из-за изменений в службах SQL Server 2008 Analysis Services эти запросы могут возвращать непредвиденные результаты.

Значок стрелки, используемый со ссылкой «В начало»Top

См. также

Другие ресурсы

Обратная совместимость служб Analysis Services