多維度資料庫的相容性層級 (Analysis Services)

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

在SQL Server Analysis Services中,資料庫相容性層級屬性會決定資料庫的功能等級。 每個模型類型都有唯一的相容性層級。 例如,相容性層級 1100 的意義會因為資料庫是多維度或表格式而有所不同。

本主題描述只適用於多維度資料庫的相容性層級。 如需表格式方案的詳細資訊,請參閱 Analysis Services 中表格式模型的相容性層級

注意

表格式模型具有另外的資料庫相容性層級,並不適用於多維度模型。 多維度模型不存在相容性層級 1103 。 如需適用於表格式方案之 1103 的詳細資訊,請參閱 What is new for the Tabular model in SQL Server 2012 SP1 and compatibility level (SQL Server 2012 SP1 中表格式模型的新功能與相容性層級)。

多維度資料庫的相容性層級

目前唯一會隨功能層級而改變的多維度資料庫行為就是字串儲存體架構。 經由提高資料庫的相容性層級,您可以覆寫量值和維度的 4 GB 字串儲存體上限。

對於多維度資料庫, CompatibilityLevel 屬性的有效值包括:

設定 Description
1050 此值不會顯示在腳本或工具中,但會對應至 SQL Server 2005 (9.x) 、SQL Server 2008 或 SQL Server 2008 R2 中建立的資料庫。 所有未明確設定 CompatibilityLevel 的資料庫都是隱含地在 1050 層級執行。
1100 這是您在 2012 SQL Server 2012 (11.x) 或 SQL Server 2017 中建立的新資料庫預設值。 您也可以針對在舊版SQL Server Analysis Services中建立的資料庫指定它,以啟用僅在此相容性層級支援的功能使用 (,也就是增加維度屬性的字串儲存體,或包含字串資料的相異計數量詞) 。

CompatibilityLevel 設為 1100 的資料庫會有一個額外的屬性 StringStoresCompatibilityLevel,這個屬性可讓您選擇資料分割和維度的替代字串儲存體。

警告

將資料庫相容性設為更高的層級將無法回復。 把相容性層級增加到 1100之後,您必須在較新的伺服器上繼續執行資料庫。 您無法回復到 1050。 您無法在早于 SQL Server 2012 (11.x) 或 SQL Server 2017 的伺服器版本上附加或還原 1100 資料庫。

必要條件

SQL Server 2012 (11.x) 引進資料庫相容性層級。 您必須擁有 SQL Server 2012 (11.x) SQL Server Analysis Services 或更高版本,才能檢視或設定資料庫相容性層級。

資料庫不可為本機 Cube。 本機 Cube 不支援 CompatibilityLevel 屬性。

資料庫必須已在舊版 (SQL Server 2008 R2 或更早) 版本中建立,然後附加或還原至 SQL Server 2012 (11.x) SQL Server Analysis Services 或更高版本伺服器。 部署至 SQL Server 2012 的資料庫已是 1100 ,且無法降級至較低層級執行。

判斷多維度資料庫的現有資料庫相容性層級

檢視或修改資料庫相容性層級的唯一方式是透過 XMLA。 您可以在 SQL Server Management Studio 中檢視或修改指定資料庫的 XMLA 指令碼。

如果您在資料庫的 XMLA 定義中搜尋 CompatibilityLevel 屬性而此屬性並不存在,很有可能該資料庫是位於 1050 層級。

下一節中會提供檢視及修改 XMLA 指令碼的指示。

在 SQL Server Management Studio 中設定資料庫相容性層級

  1. 在提高相容性層級之前,請先備份資料庫,以防您之後想要還原變更。

  2. 使用 SQL Server Management Studio,連接到裝載資料庫的 SQL Server 2017SQL Server Analysis Services 伺服器。

  3. 以滑鼠右鍵按一下資料庫名稱,依序指向 [編寫資料庫的指令碼為] 和 [ALTER 至],然後選取 [新增查詢編輯器視窗]。 資料庫的 XMLA 表示法將會在新視窗中開啟。

  4. 複製下面 XML 元素:

    <ddl200:CompatibilityLevel>1100</ddl200:CompatibilityLevel>  
    
  5. 將它貼到 </Annotations> 結束元素的後面和 <Language> 元素的前面。 XML 看起來應該類似於下面範例:

    </Annotations>  
    <ddl200:CompatibilityLevel>1100</ddl200:CompatibilityLevel>  
    <Language>1033</Language>  
    
  6. 儲存檔案。

  7. 若要執行指令檔,按一下 [查詢] 功能表上的 [執行],或按 F5 鍵。

支援且需要相同相容性層級的作業

以下作業要求來源資料庫共用相同的相容性層級。

  1. 只有在兩個資料庫共用相同的相容性層級時,才支援從不同資料庫合併磁碟分割。

  2. 從其他資料庫使用連結的維度需要相同的相容性層級。 例如,如果您想要在 SQL Server 2012 (11.x) 資料庫中使用 SQL Server 2008 R2 資料庫的連結維度,則必須將 SQL Server 2008 R2 資料庫移植到 SQL Server 2012 (11.x) 伺服器,並將相容性層級設定為1100

  3. 只有共用相同版本與資料庫相容性層級的伺服器,才支援同步處理伺服器。

後續步驟

增加資料庫相容性層級之後,您可以在 SQL Server Data Tools 中設定StringStoresCompatibilityLevel屬性。 這樣做會增加量值和維度的字串儲存體。 如需這項功能的詳細資訊,請參閱 設定維度及資料分割的字串存放區

另請參閱

備份、還原和同步處理資料庫 (XMLA)