共用方式為


識別碼 (DMX)

MicrosoftSQL ServerAnalysis Services 中所有的物件都必須有識別碼。伺服器、資料庫與資料庫物件 (例如資料來源、資料來源檢視、Cube、維度、採礦模型等等) 都有識別碼。

物件識別碼是在您定義物件時建立的。物件的名稱就是它的識別碼,然後您可使用識別碼參考物件。

資料採礦延伸模組 (DMX) 中有兩個類別的識別碼:

  • 一般識別碼

  • 分隔識別碼

不論識別碼類型為何,識別碼都必須小於或等於 100 個字元。

一般識別碼

「一般識別碼」(Regular Identifier) 是符合識別碼格式之 Analysis Services 規則的名稱。在 DMX 中,一般識別碼不需要分隔符號。下列是使用一般、非分隔識別碼之 DMX 陳述式的範例:

SELECT * FROM Clustering.CONTENT

在此範例中,"Clustering" 是採礦模型的名稱,也是它的識別碼。因為此識別碼不包含任何空格或其他特殊字元,所以它是一般識別碼,而且不需要括在括號中。

一般識別碼的規則

下列是一般識別碼的格式規則:

  1. 一般識別碼的第一個字元必須是下列其中之一:

    • Unicode Standard 2.0 所定義的字母。包括從 a 到 z 與從 A 到 Z 的拉丁文字元,以及其他語言的字母字元。

    • 底線 (_)。

  2. 後續的字元可以是:

    • Unicode Standard 2.0 所定義的字母。

    • 其他基本拉丁文或其他國家 (地區) 字集中的十進位數字。

    • 底線 (_)。

  3. 識別碼不可以是 DMX 保留字。DMX 中的保留字不區分大小寫。如需詳細資訊,請參閱<保留關鍵字 (DMX)>。

  4. 識別碼不能包含內嵌空格或特殊字元。

如果識別碼不符合這些規則,當您在 DMX 陳述式中使用此識別碼時,就必須將它括在方括號中。

分隔識別碼

「分隔識別碼」(Delimited Identifier) 是以方括號 ([ ]) 括住的識別碼。下列是具有分隔識別碼的 DMX 陳述式範例。

SELECT * FROM [Marketing_Clusters].CONTENT

在此範例中,採礦模型的識別碼為 [Marketing_Clusters]。此名稱已經括在方括號中,即使它符合一般識別碼的準則也是如此。許多人都認為針對識別碼使用方括號是很好的作法,因為這樣很清楚,而且可以讓程式碼的維護與移轉問題減至最少,即使不需要方括號的情況也是如此。

任何不符合一般識別碼格式規則的識別碼都一定要分隔。下列是具有包含空格之分隔識別碼的 DMX 陳述式範例:

SELECT * FROM [Targeted Mailing].CONTENT

您一定要在下列狀況中使用分隔識別碼:

  • 當您使用保留字作為物件名稱或部分的物件名稱時。

    建議您不要使用保留字作為物件名稱。從舊版 Analysis Services 升級的資料庫,可能有些識別碼包含了在舊版 Analysis Services 中不是保留字,但是在後續版本中是保留關鍵字的某些字。您可以使用分隔識別碼參考這類物件,直到您能夠變更物件的名稱為止。

  • 當您使用一般識別碼的規則中所未定義的字元時。

    在 Analysis Services 中,您可以在分隔識別碼中使用目前字碼頁內的任何字元;不過,在物件名稱中使用特殊字元可能會導致 DMX 陳述式很難讀取與維護。例如,如果某些用戶端應用程式無法使用此字碼頁,該應用程式的使用者可能無法檢視特殊字元。您應該使用可以從任何用戶端 (您或您的使用者可能需要使用此用戶端) 讀取及輸入的識別碼,這是最佳作法。

    [!附註]

    當您從舊版將 Analysis Services 資料庫升級到 SQL Server 2008 時,可能會修改某些物件名稱來保留其唯一性。如需詳細資訊,請參閱<SQL Server 2008 中 Analysis Services 功能的突破性變更>。

分隔識別碼的規則

下列是分隔識別碼的格式規則:

  1. 分隔識別碼可以包含的字元數與一般識別碼一樣 (從 1 到 100 個字元,不包含分隔符號字元)。

  2. 識別碼的主體可以包含目前字碼頁中所使用之任何字元的組合,包括分隔符號字元本身。如果識別碼本身的主體包含分隔字元,就需要特殊的處理:

    • 如果識別碼的主體包含左方括號 ([),則不需要其他處理。

    • 如果識別碼的主體包含右方括號 (]),您必須指定兩個右方括號 (]]),以代表此識別碼中的單一右方括號。

分隔多個識別碼部分

使用限定的物件名稱時,您可能必須分隔構成物件名稱的多個識別碼。您必須個別分隔每個識別碼。下列範例會顯示包含多個分隔識別碼的限定物件名稱。

[AdventureWorks DW 2008].[Targeted Mailing DT]