適用於:
SQL Server Analysis Services
Azure Analysis Services
Fabric/Power BI Premium
在 SQL Server Analysis Services 中,資料庫相容性層級屬性會決定資料庫的功能等級。 相容性層級對每個模型類型而言都是唯一的。 例如,相容性層級 1100 具有不同的意義,視資料庫是多維度或表格式而定。
本主題僅描述多維度資料庫的相容性層級。 欲了解更多關於表格解的資訊,請參閱 分析服務中表格模型的相容性等級。
附註
表格模型有額外的資料庫相容性層級,這些層級不適用於多維模型。 多維模型沒有相容等級 1103 。
多維資料庫的相容性等級
目前,唯一因功能等級而異的多維度資料庫行為是字串記憶體架構。 藉由提高資料庫相容性層級,您可以突破量值和維度之字串儲存的 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,可讓您選擇分割區和維度的替代字串儲存體。 |
Important
將資料庫相容性設定為較高層級是無法復原的。 將相容性層次增加到 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 或更高版本,才能檢視或設定資料庫相容性層級。
資料庫不能是本地的立方體。 本地立方體不支援 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 屬性。 此設定增加了度量與維度的字串儲存空間。 如需此功能的詳細資訊,請參閱 設定維度和分割區的字串儲存。