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


Правила именования объектов (службы Analysis Services)

Применимо к: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium

В этом разделе описываются соглашения об именовании объектов, а также зарезервированные слова и символы, которые нельзя использовать в имени объекта, в коде или скрипте в SQL Server Analysis Services.

Соглашения об именах

Каждый объект имеет свойства Name и ID , которые должны быть уникальными в области определения родительской коллекции. Например, два измерения могут иметь одинаковое имя, только если они находятся в разных базах данных.

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

Применительно к объектамDataSource и DataSourceView в соглашениях об именах есть важные исключения. ИдентификаторуDataSource в качестве ссылки на текущую базу данных можно присвоить точку (.). Это значение не рассматривается как уникальное. Вторым исключением является объект DataSourceView, соответствующий соглашениям об именах для объектов DataSet в .NET Framework, где в качестве идентификатора используется Name .

Следующие правила относятся к свойствам Name и ID .

  • В именах учитывается регистр. В одной базе данных не может быть куб с именем sales и другой с именем Sales.

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

  • Максимальное количество символов равно 100.

  • Какие-либо специальные требования к первому символу идентификатора не предъявляются. В качестве первого символа может применяться любой допустимый символ.

Зарезервированные слова и символы

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

Что касается табличных моделей, то при уровне совместимости базы данных 1103 правила проверки смягчаются для некоторых объектов с целью обеспечения соответствия требованиям для символов национального алфавита и соглашениям об именах некоторых клиентских приложений. На базы данных, которые удовлетворяют этим критериям, распространяются менее строгие правила проверки. В этом случае в имени объекта может содержаться зарезервированный символ, но проверка будет пройдена.

Зарезервированные слова

  • AUX

  • CLOCK$

  • COM1-COM9 (COM1, COM2, COM3 и т. д.)

  • CON

  • LPT1-LPT9 (LPT1, LPT2, LPT3 и т. д.)

  • NUL

  • PRN

  • Не допускается использование значения NULL в качестве символа ни в одной строке в коде XML

Зарезервированные символы

В следующей таблице перечислены символы, которые являются недопустимыми для конкретных объектов.

Объект Недопустимые знаки
Сервер При именовании серверных объектов следуйте соглашению об именах для сервера Windows. Дополнительные сведения см. в разделе Соглашения об именах (Windows) .
DataSource : / \ * | ? " () [] {}<>
Level или Attribute . , ; ' ` : / \ * | ? " & % $ ! + = [] {}<>
Dimension или Hierarchy . , ; ' ` : / \ * | ? " & % $ ! + = () [] {}<,>
Все прочие объекты . , ; ' ` : / \ * | ? " & % $ ! + = () [] {}<>

Исключения: Когда зарезервированные символы разрешены

Как уже упоминалось, базы данных с определенной модальностью и уровнем совместимости могут иметь имена объектов, которые содержат зарезервированные символы. Имена объектов атрибута измерения, иерархии, уровня меры и KPI, которые находятся в табличных базах данных (1103 или более), где допускается использование символов национального алфавита, могут содержать зарезервированные символы.

Режим сервера и уровень совместимости базы данных Зарезервированные символы разрешены?
MOLAP (все версии) Нет
Табличные — 1050 Нет
Табличные — 1100 Нет
Табличный — 1130 и выше Да

Базы данных могут иметь ModelType по умолчанию. Типом по умолчанию является многомерная база данных, в связи с чем использование зарезервированных символов в именах столбцов не поддерживается.

См. также:

Зарезервированные слова языка многомерных выражений
Поддержка параметров перевода в службах Analysis Services