設定多維度資料庫的相容性層級 (Analysis Services)
在 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 中建立之新資料庫的預設值。 您也可以針對使用舊版 Analysis Services 建立的資料庫指定這個值,以啟用僅在此相容性層級支援的功能 (亦即,維度屬性的增加字串儲存體或包含字串資料的相異計數量值)。 CompatibilityLevel 設為 1100 的資料庫會有一個額外的屬性 StringStoresCompatibilityLevel,這個屬性可讓您選擇資料分割和維度的替代字串儲存體。 |
注意 |
---|
將資料庫相容性設為更高的層級將無法回復。 將相容性層級增加到 1100 之後,您必須繼續在 SQL Server 2012 Analysis Services 或更新版本上執行資料庫。 您無法回復到 1050。 您無法在 SQL Server 2012 之前的伺服器版本上附加或還原 1100 資料庫。 |
必要條件
資料庫相容性層級是在 SQL Server 2012 中引進。 您必須擁有 SQL Server 2012 Analysis Services,才能檢視或設定資料庫相容性層級。
資料庫不可為本機 Cube。 本機 Cube 不支援 CompatibilityLevel 屬性。
資料庫必須已經使用舊版 (SQL Server 2008 R2 或更舊版本) 建立,然後附加或還原到 SQL Server 2012 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 2012 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 資料庫中的 SQL Server 2008 R2 資料庫使用連結的維度,必須將 SQL Server 2008 R2 資料庫接到 SQL Server 2012 伺服器,並將相容性層級設為 1100。
只有共用相同版本與資料庫相容性層級的伺服器,才支援同步處理伺服器。
後續步驟
在您提高資料庫相容性層級之後,就可以在 SQL Server Data Tools 中設定 StringStoresCompatibilityLevel 屬性。 這樣做會增加量值和維度的字串儲存體。 如需有關這項功能的詳細資訊,請參閱<設定維度及資料分割的字串儲存體>。