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


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

В этом разделе описываются соглашения об именовании объектов, а также зарезервированные слова и символы, которые нельзя использовать в имени объекта, в коде или скрипте в службах 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

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

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

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

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

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

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

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

См. также:

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