对象命名(Analysis Services - 多维数据)

本主题介绍对象命名约定,以及不能在任何对象名称、Analysis Services 中的代码或脚本中使用的保留字和字符。

命名约定

每个对象都拥有一个 Name 和 ID 属性,该属性在父集合的范围内必须是唯一的。 例如,只要两个维度驻留在不同的数据库中,它们就可以使用相同名称。

尽管您可以手动指定 ID,不过此属性通常是在创建对象时自动生成的。 在开始构建模型之后,您绝不应更改 ID。 模型中的所有对象引用都基于 ID, 因此,更改 ID 很容易导致模型损坏。

DataSource 和 DataSourceView 对象是命名约定的两个值得注意的例外。 DataSource ID 可以设置为不具唯一性的一个点 (.),这表示对当前数据库的引用。 另一个例外是 DataSourceView,它遵循的是针对 .NET Framework 中的 DataSet 对象定义的命名约定(其中的 Name 用作标识符)。

以下规则适用于 Name 和 ID 属性。

  • 名称不区分大小写。 您不能在同一数据库中将一个多维数据集命名为“sales”,而将另一个命名为“Sales”。

  • 对象名称中不允许前导空格或尾随空格,但可以在名称中嵌入空格。 前导空格和尾随空格将会被隐式删除。 这适用于对象的 Name 和 ID。

  • 最大字符数为 100。

  • 对标识符的第一个字符没有特殊要求。 第一个字符可为任意有效字符。

保留字和字符

保留字为英文,且适用于对象名称,而不适用于标题。 如果您在对象名称中无意使用了保留字,则会发生验证错误。 对于多维和数据挖掘模型,在任何对象名称中任何时候都不能使用下面描述的保留字。

对于表格模型(其中的数据库兼容性设置为 1103),已放宽了针对某些对象、扩展字符的不合规要求和某些客户端应用程序命名约定的验证规则。 符合这些条件的数据库受不太严格的验证规则的约束。 在这种情况下,对象名称可以包含受限制的字符且能够通过验证。

保留字

  • AUX

  • CLOCK$

  • COM1 到 COM9(COM1、COM2、COM3 等)

  • CON

  • LPT1 到 LPT9(LPT1、LPT2、LPT3 等)

  • NUL

  • PRN

  • XML 内的任何字符串的字符都不可为 NULL

保留字符

下表列出了特定对象的无效字符。

对象

无效字符

Server

在命名服务器对象时,遵循 Windows 服务器命名约定。 有关详细信息,请参阅命名约定 (Windows)

DataSource

: / \ * | ?" () [] {} <>

Level 或Attribute

. , ; ' ` : / \ * | ?" & % $ ! + = [] {} < >

Dimension 或者Hierarchy

. , ; ' ` : / \ * | ?" & % $ ! + = () [] {} <,>

所有其他对象

. , ; ' ` : / \ * | ?" & % $ ! + = () [] {} < >

例外:允许保留字符的情况

如前所述,特定模式和兼容级别的数据库可以具有包含保留字符的对象名称。 对于允许使用扩展字符的表格数据库(1103 或更高),维度属性、层次结构、级别、度量值和 KPI 对象名称可以包含保留字符:

服务器模式和数据库兼容级别

是否允许保留字符?

MOLAP(所有版本)

表格 - 1050

表格 - 1100

表格 – 1130 和更高版本

数据库可以拥有默认的 ModelType。 默认值等效于多维的,因此不支持在列名称中使用保留字符。

请参阅

概念

MDX 保留字

翻译(Analysis Services - 多维数据)

XML for Analysis 遵从性 (XMLA)