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


Языки и параметры сортировки (службы Analysis Services)

Службы Analysis Services поддерживают языки и параметры сортировки, предоставляемые операционными системами Microsoft Windows. Свойства Language и Collation изначально устанавливаются на уровне экземпляра во время установки, но их можно изменить позднее на разных уровнях иерархии объектов.

В многомерной модели (только) эти свойства можно задать в базе данных или кубе. Их также можно задать в преобразованиях, создаваемых для объектов в кубе.

При задании Language и Collation либо указываются параметры, используемые моделью данных во время обработки и выполнения запросов, либо (только для многомерных моделей) в модель добавляются переводы, чтобы носители иностранных языков могли работать с моделью на своем родном языке. Можно явным образом задавать свойства Language и Collation для объекта (базы данных, модели или куба) в случаях, когда в среде разработки и на сервере в рабочей среде настроены разные языковые стандарты и требуется, чтобы язык и параметры сортировки соответствовали предполагаемой целевой среде.

В этом разделе содержатся следующие подразделы.

Объекты, поддерживающие свойства языка и параметров сортировки

Language Свойства и Collation часто предоставляются вместе — где можно задать Language, можно также задать Collation.

Можно задать Language и Collation для этих объектов:

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

    Изначально свойства языка и параметров сортировки задаются во время установки, но администратор может переопределить их в Management Studio. Дополнительные сведения см. в разделе Изменение языка по умолчанию и параметров сортировки для экземпляра .

  • База данных. Чтобы отменить наследование, можно задать язык и параметры сортировки на уровне проекта, используемого для всех кубов, содержащихся в базе данных. Если не указано иное, все кубы в базе данных получат язык и параметры сортировки, заданные на этом уровне. Если регулярно создавать и развертывать код для разных языков (например, разрабатывать решение на компьютере с китайским языком, но развертывать это решение на сервере во французском филиале), то настройка языка и параметров сортировки на уровне базы данных — это первый и важнейший шаг, позволяющий обеспечить работоспособность решения в целевой среде. Лучше всего задавать эти свойства внутри проекта (с помощью команды Изменить базу данных в проекте).

  • Измерение базы данных. Свойства Language и Collation доступны в конструкторе для измерения базы данных, настраивать эти свойства для этого объекта не стоит. Измерения базы данных не используются в качестве автономных объектов, поэтому будет трудно, а то и невозможно использовать заданные свойства. Находясь в кубе, измерение всегда наследует свойства Language и Collation из родительского куба. Все значения, которые могут быть заданы в автономном объекте измерения базы данных, игнорируются.

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

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

Кроме того, можно задать Languageдля объекта Translation сам по себе.

Объект перевода создается при добавлении переводов к кубу или к измерению. Language является частью определения перевода. Collation, с другой стороны, устанавливается для куба или элемента более высокого уровня, и является общим для всех переводов. Это видно в XMLA куба, содержащего переводы: вы увидите несколько языковых свойств (по одному для каждого перевода), но только один набор параметров сортировки. Обратите внимание, что существует единственное исключение для переводов атрибутов измерений — можно переопределить параметры сортировки куба, указав параметры сортировки атрибута, соответствующего исходному столбцу (ядро СУБД поддерживает установку параметров сортировки для отдельных столбцов, и обычно настраиваются отдельные переводы для получения данных элементов из различных исходных столбцов). Но в других случаях для всех остальных переводов используется только Language без Collation. Дополнительные сведения см. в разделе Переводы (службы Analysis Services).

Поддержка языков в Analysis Services

Свойство Language задает языковой стандарт объекта, используемый при обработке, в запросах, а также с Captions и Translations для поддержки многоязычных сценариев. Языковые стандарты включают идентификатор языка, например английский, и территорию, например США или Австралию, которая позволяет дополнительно уточнить форматы даты и времени.

На уровне экземпляра это свойство задается при установке и зависит от языка операционной системы Windows Server (один из 37 языков, если установлен языковой пакет). Изменить язык в программе установки невозможно.

После установки можно переопределить Language с помощью страницы свойств сервера в Management Studio или в файле конфигурации msmdsrv.ini. Можно выбрать один из многих других языков, включая все языки, поддерживаемые клиентской ОС Windows. При установке на уровне экземпляра на сервере Language определяет языковой стандарт для всех баз данных, которые развертываются после этого. Например, если задать для Language немецкий язык, то все базы данных, развертываемые в этом экземпляре, получат значение свойства языка 1031: это код немецкого языка.

Значение свойства языка — код языка (LCID)

Допустимые значения включают все коды языков, отображающиеся в раскрывающемся списке. В Management Studio и SQL Server Data Tools коды языковых стандартов представляются в виде строковых эквивалентов. Одни и те же языки отображаются везде, где предоставляется свойство Language, независимо от инструмента. Наличие идентичных списков языков позволит однородно реализовать и проверить переводы во всей модели.

Хотя в службах Analysis Services языки перечислены по алфавиту по их названиям, фактические значения свойств сохраняются в виде кодов языков. При задании свойства языка программными средствами или с помощью файла msmdsrv.ini используйте в качестве значения код языка (LCID) . Код языка — это 32-разрядное значение, состоящее из идентификатора языка, идентификатора сортировки и зарезервированных битов, идентифицирующих конкретный язык. Службы Analysis Services используют идентификаторы LCID для указания выбранного языка для экземпляров и объектов Служб Analysis Services.

Можно задать код языка в шестнадцатеричном или в десятичном формате. Ниже приведено несколько примеров допустимых значений Language для свойства.

  • 0x0409 или 1033 — английский (США)

  • 0x0411 или 1041 — японский

  • 0x0407 или 1031 — немецкий (Германия)

  • 0x0416 или 1046 — португальский (Бразилия).

Более полный список см. в разделе Идендификаторы языковых стандартов, назначаемые в Майкрософт. Дополнительные сведения см. в разделе Кодовые страницы.

Примечание

Свойство Language не определяет язык для возврата системных сообщений, а также не определяет, какие строки отображаются в пользовательском интерфейсе. Ошибки, предупреждения и сообщения локализованы для всех языков, поддерживаемых в Microsoft Office и Office 365, и используются автоматически, когда соединение с клиентом указывает один из поддерживаемых языков.

Поддержка параметров сортировки в Analysis Services

Службы Analysis Services используют исключительно параметры сортировки Windows и двоичные параметры сортировки. Устаревшие параметры сортировки SQL Server не используются. В кубе применяются единые параметры сортировки для всех компонентов, за исключением переводов на уровне атрибута. Дополнительные сведения об определении переводов атрибутов см. в разделе Переводы (службы Analysis Services).

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

Параметры сортировки в Analysis Services совместимы с параметрами сортировки в ядре СУБД SQL Server, если в обоих случаях выбраны одинаковые настройки. Например, если в реляционной БД учитываются диакритические знаки, следует настроить куб таким же образом. Если параметры сортировки не совпадают, могут возникнуть проблемы. Пример и обходные пути см. в разделе Пробелы в строках в формате Юникод обрабатываются по-разному в зависимости от параметров сортировки. Дополнительные сведения о параметрах сортировки и ядре СУБД см. в разделе Collation and Unicode Support.

Типы параметров сортировки

Службы Analysis Services поддерживают два типа параметров сортировки:

  • Параметры сортировки Windows

    Параметры сортировки Windows на основе языковых и культурных характеристик языков. В Windows параметров сортировки больше, чем языковых стандартов (или языков), используемых с ними, поскольку многие языки используют одинаковый алфавит и правила сортировки и сравнения символов. Например, 33 языковых стандарта Windows, включая все стандарты португальского и английского языка для Windows, используют кодовую страницу Latin1 (1252) и следуют общему набору правил сортировки и сравнения символов.

  • Параметры двоичной сортировки (BIN или BIN2)

    При двоичной сортировке выполняется сортировка по кодовым точкам Юникода, а не по языковым значениям. Например, параметры сортировки Latin1_General_BIN и Japanese_BIN дают одинаковые результаты сортировки, если используются с данными в Юникоде. Языковая сортировка может дать результат, подобный aAbBcCdD, но двоичная сортировка выдаст ABCDabcd, поскольку кодовые точки у всех символов верхнего регистра всегда больше, чем у кодовых точек символов нижнего регистра.

Параметры порядка сортировки

Параметры сортировки используются для уточнения правил сортировки и сравнения на основе регистра, диакритических знаков, каны (для японского языка) и ширины. Например, значение Collation по умолчанию свойства конфигурации для служб Analysis Services — Latin1_General_AS_CS, указывающее, что используются параметры сортировки Latin1_General с учетом диакритических знаков и с учетом регистра.

Обратите внимание, что BIN и BIN2 взаимно исключают другие параметры сортировки. Если нужно использовать BIN или BIN2, то отключается учет диакритических знаков. Аналогичным образом, если выбрать BIN2, то параметры учета регистра, диакритических знаков, каны и ширины становятся недоступны.

В следующей таблице описаны параметры порядка сортировки параметров сортировки Windows и связанные суффиксы для служб Analysis Services.

Порядок сортировки (суффикс) Описание порядка сортировки
Двоичная (_BIN) или BIN2 (_BIN2) В SQL Server существует два типа двоичной сортировки: старая сортировка BIN и новая сортировка BIN2. При сортировке BIN2 все символы сортируются в соответствии со своими точками кода. При сортировке BIN только первый символ сортируется в соответствии со своей точкой, а остальные символы сортируются по своим байтовым значениям. (Так как платформа Intel не всегда является архитектурой по порядку следования байтов, символы кода Unicode всегда хранятся с перестановкой байт).

Для двоичных параметров сортировки на основе типов данных Юникода при сортировке данных локаль не учитывается. Например, параметры сортировки Latin_1_General_BIN и Japanese_BIN дают одинаковые результаты сортировки, если используются с данными в Юникоде.

Двоичный порядок сортировки учитывает регистр и диакритические знаки. Двоичный порядок сортировки является самым быстрым.
С учетом регистра (_CS) Различаются буквы верхнего и нижнего регистров. При выборе этого параметра буквы нижнего регистра при сортировке ставятся перед соответствующими буквами верхнего регистра. Можно явным образом указать, что регистр не учитывается, с помощью параметра _CI. Параметры учета регистра для параметров сортировки не применяются для идентификаторов объектов, например для идентификаторов измерений, кубов и других объектов. Дополнительные сведения см. в разделе Советы и рекомендации по глобализации (службы Analysis Services).
С учетом диакритических знаков (_AS) Различаются символы с диакритическими знаками и без них. Например, "a" отлично от "ấ". Если этот параметр не выбран, службы Analysis Services считают версии букв с диакрицентами и неакцентами идентичными для целей сортировки. Можно явным образом указать, что диакритические знаки не учитываются, с помощью параметра _АI.
С учетом типа японской азбуки (_KS) Различаются два вида японской азбуки: хирагана и катакана. Если этот параметр не выбран, службы Analysis Services считают символы хираганы и катаканы равными для целей сортировки. Для сортировки с учетом типа японской азбуки не существует суффикса порядка сортировки.
С учетом ширины символов (_WS) Различаются одинаковые символы, представленные одним и двумя байтами. Если этот параметр не выбран, службы Analysis Services считают однобайтовое и двухбайтовое представление одного и того же символа идентичным для целей сортировки. Для сортировки с учетом ширины символов не существует суффикса порядка сортировки.

Изменение языка по умолчанию и параметров сортировки для экземпляра

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

  • Перезапустите службу.

  • Обновите параметры сортировки для существующих объектов. Параметры сортировки наследуются после создания объекта. Последующие изменения параметров сортировки должны выполняться вручную. Дополнительные сведения см. в разделе Изменение языка и параметров сортировки в модели данных с использованием XMLA приведены советы о том, как распространить изменения параметров сортировки по всей модели.

  • Заново обработайте разделы и измерения после обновления параметров сортировки.

Чтобы изменить язык по умолчанию или параметры сортировки на уровне сервера, можно использовать SQL Server Management Studio или AMO PowerShell. Кроме того, можно изменить <параметры Language> и <CollationName> в файле msmdsrv.ini, указав идентификатор языка.

  1. В Management Studio щелкните правой кнопкой мыши имя сервера | Вариантов размещения | Язык или параметры сортировки.

  2. Выберите параметры сортировки. Чтобы выбрать Двоичный или Двоичный 2, сначала снимите флажок С учетом диакритических знаков.

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

  3. Обновите модель данных для использования новых параметров сортировки (см. следующий раздел).

  4. Перезапустите службу.

Измените язык или параметры сортировки в кубе

  1. В обозревателе решений дважды щелкните куб, чтобы открыть его в конструкторе кубов.

  2. В области "Измерения" или "Меры" выберите узел верхнего уровня. Объектом верхнего уровня в любой области является куб.

  3. В окне "Свойства" задайте Language и Collation. Выбранные значения будут использоваться всеми объектами куба, включая измерения куба и меры, и повлияют на операции обработки и запросов.

    Единственный способ внедрения дополнительных свойств языка и параметров сортировки для объектов в кубе — с помощью переводов. Дополнительные сведения см. в разделе Переводы (службы Analysis Services).

Изменение языка и параметров сортировки в модели данных с использованием XMLA

Язык и параметры сортировки наследуются после создания объекта. Последующие изменения этих свойств должны выполняться вручную. Для быстрого изменения параметров сортировки нескольких объектов можно использовать команду ALTER в сценарии XMLA.

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

Перед использованием XMLA для изменения существующей базы данных убедитесь, что не возникнет несоответствий между базой данных и исходными файлами, используемыми для ее создания. Например, можно использовать XMLA для быстрого изменения языка или параметра сортировки для экспериментального тестирования, но после этого могут измениться исходные файлы (см. Изменение языка или параметров сортировки в кубе), вследствие чего решение будет заново развернуто с помощью уже существующих процедур.

  1. В Management Studio щелкните правой кнопкой мыши базу данных | Создание скрипта для базы данных в качестве | ALTER to | Новое окно Редактор запросов.

  2. Найдите и замените существующее значение языка и параметров сортировки на другое значение.

  3. Нажмите клавишу F5, чтобы выполнить скрипт.

  4. Заново обработайте куб.

Повышение производительности для английских языковых стандартов с помощью EnableFast1033Locale

Если вы используете идентификатор английского языка (США) (0x0409 или 1033) в качестве языка по умолчанию для экземпляра служб Analysis Services, вы можете получить дополнительные преимущества производительности, задав EnableFast1033Locale свойство конфигурации ( расширенное свойство конфигурации, доступное только для этого идентификатора языка). Если для этого свойства задано значение true , службы Analysis Services могут использовать более быстрый алгоритм для хэширования и сравнения строк. Дополнительные сведения о настройке свойств конфигурации см. в разделе Настройка свойств сервера в службах Analysis Services.

Поддержка GB18030 в Analysis Services

GB18030 — это отдельный стандарт, который применяется в Китайской Народной Республике для кодирования китайских иероглифов. В кодировке GB18030 введенные данные могут иметь длину 1, 2 или 4 байт. В службах Analysis Services отсутствует преобразование данных при обработке данных из внешних источников. Данные просто сохраняются в Юникоде. Во время запроса выполняется преобразование GB18030 с помощью клиентских библиотек Analysis Services (в частности, поставщика OLE DB MSOLAP.dll) при возвращении текстовых данных в результатах запроса, в зависимости от параметров клиентской ОС. Ядро СУБД также поддерживает GB18030. Дополнительные сведения см. в разделе Collation and Unicode Support.

См. также:

Сценарии глобализации для многомерных служб Analysis Services
Советы и рекомендации по глобализации (службы Analysis Services)
Поддержка параметров сортировки и Юникода