在 Analysis Services 中,資料庫相容性層級屬性會決定資料庫的功能等級。 相容性層級對每個模型類型而言都是唯一的。 例如,的相容性層級 1100 有不同的意義,取決於資料庫是多維度還是表格式。
本主題僅描述多維度資料庫的相容性層級。 如需表格式解決方案的詳細資訊,請參閱 相容性層級 (SSAS 表格式 SP1) 。
備註
表格式模型具有不適用於多維度模型的其他資料庫相容性層級。 多維度模型的相容性層級 1103 不存在。 如需表格式解決方案的詳細資訊1103,請參閱 SQL Server 2012 SP1 中表格式模型的新功能和相容性層級。
多維度資料庫的相容性層級
目前,唯一因功能等級而異的多維度資料庫行為是字串記憶體架構。 藉由提升資料庫相容性等級,您可以超越量值和維度的字串儲存 4 GB 上限。
對於多維度資料庫,屬性的有效值 CompatibilityLevel 包括下列各項:
| 設定 | 說明 |
|---|---|
1050 |
腳本或工具中看不到這個值,但它會對應至 SQL Server 2005、SQL Server 2008 或 SQL Server 2008 R2 中建立的資料庫。 任何未明確設定的資料庫 CompatibilityLevel 都會隱含地在 1050 層級運行。 |
1100 |
這是您在 SQL Server 2012 或 SQL Server 2014 中建立之新資料庫的預設值。 您也可以針對在舊版 Analysis Services 中建立的資料庫指定相容性層級,以便啟用僅在此層級支援的功能(包括維度屬性的字串儲存空間增加,或包含字串數據的相異計數量值)。 具有將 CompatibilityLevel 設定為 1100 的資料庫會獲得額外的屬性 StringStoresCompatibilityLevel,它可讓您選擇用於分割區和維度的替代字串儲存方式。 |
警告
將資料庫相容性設定為較高層級是無法復原的。 將相容性層級提高到 1100之後,您必須繼續在較新的伺服器上執行資料庫。 您無法回復至 1050。 您無法在早於 SQL Server 2012 或 SQL Server 2014 的伺服器版本上附加或還原 1100 資料庫。
先決條件
SQL Server 2012 引進資料庫相容性層級。 您必須有 SQL Server 2012Analysis Services 或更高版本,才能檢視或設定資料庫相容性層級。
資料庫不能是本機多維資料集。 本機 Cube 不支援 CompatibilityLevel 屬性。
資料庫必須已在舊版中建立(SQL Server 2008 R2 或更早版本),然後附加或還原至 SQL Server 2012Analysis 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 2014Analysis 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 資料庫中使用 SQL Server 2008 R2 資料庫的連結維度,則必須將 SQL Server 2008 R2 資料庫移植到 SQL Server 2012 伺服器,並將相容性層級設定為
1100。只有具備相同版本和資料庫相容性層級的伺服器才支援伺服器同步化。
後續步驟
增加資料庫相容性層級之後,您可以在 SQL Server Data Tools 中設定 StringStoresCompatibilityLevel 屬性。 這會增加量值和維度的字串儲存空間。 如需此功能的詳細資訊,請參閱 設定維度和分割的字串存儲。