多維度資料庫的相容性層級 (Analysis Services)
適用於: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium
在 SQL Server Analysis Services 中,資料庫相容性層級屬性會決定資料庫的功能等級。 相容性層級對每個模型類型而言都是唯一的。 例如,1100 的相容性層級會根據資料庫是多維度還是表格式,有不同的意義。
本主題僅描述多維度資料庫的相容性層級。 如需表格式解決方案的詳細資訊,請參閱 Analysis Services中表格式模型的
注意
表格式模型具有不適用於多維度模型的其他資料庫相容性層級。 多維度模型的相容性層級 1103 不存在。 如需表格式解決方案 1103 的詳細資訊,請參閱 SQL Server 2012 SP1 中表格式模型的新功能和相容性層級。
多維度資料庫的相容性層級
目前,唯一因功能等級而異的多維度資料庫行為是字串記憶體架構。 藉由提高資料庫相容性層級,您可以覆寫量值和維度字元串儲存的 4 GB 上限。
對於多維度資料庫,CompatibilityLevel 屬性的有效值包括下列各項:
設置 | 描述 |
---|---|
1050 | 在腳本或工具中看不到這個值,但它會對應至 SQL Server 2005 (9.x)、SQL Server 2008 或 SQL Server 2008 R2 中建立的資料庫。 未明確設定 CompatibilityLevel 的任何資料庫,都會在 1050 層級隱含執行。 |
1100 | 這是您在 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 中設定資料庫相容性層級
在提高相容性層級之前,請備份資料庫,以防稍後要反轉變更。
使用 SQL Server Management Studio 連線到裝載資料庫的 SQL Server 2017SQL Server Analysis Services 伺服器。
以滑鼠右鍵按下資料庫名稱,指向 [腳本資料庫] 作為 [],指向 [ALTER] 以 ,然後選取 [新增查詢編輯器視窗] 。 資料庫的 XMLA 表示法將會在新視窗中開啟。
複製下列 XML 元素:
<ddl200:CompatibilityLevel>1100</ddl200:CompatibilityLevel>
將它貼到
</Annotations>
結尾項目之後,以及<Language>
專案之前。 XML 看起來應該類似下列範例:</Annotations> <ddl200:CompatibilityLevel>1100</ddl200:CompatibilityLevel> <Language>1033</Language>
儲存盤案。
若要執行腳本,請單擊 [查詢] 功能表上的 [執行],或按 F5。
需要相同相容性層級的支持作業
下列作業需要源資料庫共用相同的相容性層級。
只有在兩個資料庫共用相同的相容性層級時,才支持合併來自不同資料庫的分割區。
使用來自另一個資料庫的連結維度需要相同的相容性層級。 例如,如果您想要在 SQL Server 2012 (11.x) 資料庫中使用 SQL Server 2008 R2 資料庫的鏈接維度,您必須將 SQL Server 2008 R2 資料庫移植到 SQL Server 2012 (11.x) 伺服器,並將相容性層級設定為 1100。
只有共用相同版本和資料庫相容性層級的伺服器才支援同步處理伺服器。
後續步驟
增加資料庫相容性層級之後,您可以在 SQL Server Data Tools 中設定 StringStoresCompatibilityLevel 属性。 這會增加量值和維度的字串記憶體。 如需此功能的詳細資訊,請參閱 設定維度和資料分割的字串記憶體。