共用方式為


物件命名規則 (Analysis Services)

適用於: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium

本主題描述物件命名慣例,以及無法在程式碼或腳本 SQL Server Analysis Services 中用於任何物件名稱的保留字和字元。

命名規範

每個物件都有 一個 NameID 屬性,在父集合的範圍內必須是唯一的。 例如,兩個維度可以擁有相同的名稱,前提是每個維度都位在不同的資料庫內。

雖然您可以手動指定它,但標識元通常會在建立物件時自動產生。 一旦您開始建置模型,就不應該變更 標識符 。 整個模型的所有對象參考都是以 標識碼為基礎。 因此,變更 標識碼 很容易會導致模型損毀。

DataSourceDataSourceView 物件有值得注意的命名慣例例外狀況。 DataSource 標識元可以設定為單一點 (.) ,這不是唯一的,可作為目前資料庫的參考。 第二個例外狀況是 DataSourceView,它會遵守 .NET Framework 中 DataSet 物件所定義的命名慣例,其中 Name 會用來作為標識符。

下列規則適用於 NameID 屬性。

  • 名稱不區分大小寫。 同一個資料庫中不能有名為 「sales」 的 Cube 和另一個名為 「Sales」。

  • 物件名稱中不允許有任何開頭或尾端空白,但是您可以在名稱中內嵌空白。 開頭和尾端空白會以隱含方式加以修剪。 這同時適用於物件的 NameID

  • 最大字元數為 100。

  • 識別項的第一個字元沒有特殊規定。 第一個字元可能會是任何有效的字元。

保留字和字元

保留字為英文,而且會套用到物件名稱,而不是標題。 如果您不小心在物件名稱中使用保留字,將會發生驗證錯誤。 如果是多維度和資料採礦模型,底下所述的保留字在任何時候都無法在任何物件名稱中使用。

如果是資料庫相容性設定為 1103 的表格式模型,對於不符合擴充字元要求及某些用戶端應用程式命名慣例的特定物件而言,驗證規則已經鬆綁。 符合這些準則的資料庫受限於比較不嚴謹的驗證規則。 在此情況下,有可能物件名稱包含受限的字元而且依然通過驗證。

保留字

  • AUX

  • CLOCK$

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

  • CON

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

  • NUL

  • PRN

  • 在 XML 中,不允許使用 NULL 當做任何字串中的字元

保留字元

下表列出特定物件的無效字元。

Object 無效字元
伺服器 在命名伺服器物件時要遵守 Windows 伺服器命名慣例。 如需詳細資訊,請參閱 Windows) (命名慣例
DataSource : / \ * | ? " () [] {}<>
層級屬性 . , ; ' ` : / \ * | ? " & % $ ! + = [] {}<>
維度階層 . , ; ' ` : / \ * | ? " & % $ ! + = () [] {}<,>
所有其他物件 . , ; ' ` : / \ * | ? " & % $ ! + = () [] {}<>

例外狀況:當允許保留的字元時

如前所述,具有特定模式和相容性層級的資料庫可以擁有包含保留字元的物件名稱。 如果是允許使用擴充字元的表格式資料庫 (1103 或更高層級),維度屬性、階層、層級、量值和 KPI 物件名稱可以包含保留字元:

伺服器模式和資料庫相容性層級 允許保留的字元嗎?
MOLAP (所有版本) No
表格式 - 1050 No
表格式 - 1100 No
表格式 - 1130 和更新版本 Yes

資料庫可以有 ModelType 預設值。 預設值相當於多維度,因此不支援在資料行名稱中使用保留的字元。

另請參閱

MDX 保留字
Analysis Services 中的翻譯支援