SQL Server 2008 中 Analysis Services 功能的突破性變更
本主題描述 Analysis Services 中的突破性變更。這些變更可能會中斷以舊版 SQL Server 為根據的應用程式、指令碼或功能。當您升級時可能會遇到這些問題。如需詳細資訊,請參閱<使用 Upgrade Advisor 來準備升級>。
SQL Server 2008 中 Analysis Services 的突破性變更
下表列出當您將 SQL Server 2005 Analysis Services (SSAS)Analysis Services 資料庫升級至 SQL Server 2008 時可能會遇到的問題。
問題類型 |
問題描述 |
---|---|
shallow exists 函數現在會以不同的方式使用包含列舉集之列舉成員或交叉聯結的命名集。 |
在 SQL Server 2005 Analysis Services (SSAS) 中,shallow exists 函數不會使用包含列舉集之列舉成員或交叉聯結的命名集。若要與原始發行版本和 SQL Server 2005 Analysis Services (SSAS) SP1 相容,請將組態屬性 "ConfigurationSettings\OLAP\Query\NamedSetShallowExistsMode" 設定為 1。若要與 SQL Server 2005 Analysis Services (SSAS) SP2 相容,請將它設定為 2。 |
VBA 函數處理 Null 值和空白值的方式與 SQL Server 2005 Analysis Services (SSAS)Analysis Services 的處理方式不同。 |
在 SQL Server 2005 Analysis Services (SSAS) 中,當 Null 值或空白值當做引數使用時,VBA 函數原本會傳回 0 或空字串。在 SQL Server 2008 中,它們將會傳回 Null。 |
移轉精靈將會失敗,因為 DSO 依預設並未安裝。 |
依預設,SQL Server 2008 並不會安裝 DSO (決策支援物件) 回溯相容性元件。回溯相容性封裝依預設會安裝,但該封裝的 DSO 元件將會停用。因為 SQL Server Analysis Services 移轉精靈相依於這個元件,所以除非安裝這個元件,否則此精靈將會失敗。若要安裝 DSO 元件,請執行下列動作:
您可以遵照前述步驟,將 DSO 的選項變更為 [此功能將無法使用],以在移轉完成之後移除 DSO。 如果回溯相容性封裝未安裝,則您可以從 SQL Server 2008 散發媒體加以安裝。請注意,有適用於每一個目標架構 (x86、x64,ia64) 的版本。這些版本可以從下列位置取得: x86\Setup\x86\SQLServer2005_BC.msi x64\Setup\x64\SQLServer2005_BC.msi ia64\Setup\ia64\SQLServer2005_BC.msi |
建議您不要在 [資料] 資料夾中放置資料分割位置。 |
伺服器會管理 [資料] 資料夾,並在建立、刪除和更改物件時,建立或卸除資料夾。因此,強烈建議您不要在 [資料] 資料夾內指定資料分割儲存體位置,特別是在資料庫、Cube 和維度的子資料夾中。雖然伺服器可以讓您透過 Create 或 Alter 進行這項作業,但這麼做會顯示警告訊息。當您將資料庫從 SQL Server 2005 Analysis Services 升級至在 [資料] 資料夾中具有資料分割儲存體位置的 SQL Server 2008 Analysis Services 時,該作業會成功。Restore 或 Sync 會要求您將資料分割儲存體位置移到 [資料] 資料夾之外。 |
SQL Server 2005 中 Analysis Services 的突破性變更
下表列出當您將 SQL Server 2000Analysis Services 資料庫升級至 SQL Server 2008 時可能會遇到的問題。
問題類型 |
問題描述 |
---|---|
未移轉相依於連結物件的物件 |
MicrosoftSQL Server 2008Analysis Services 中的 Upgrade Advisor 未移轉連結 Cube 和連結維度。所以參考連結 Cube 或連結維度的物件不能移轉,因為物件所依據的連結物件不能移轉。例如,無法移轉以連結 Cube 為基礎的 OLAP 採礦模型,因為無法移轉該採礦模型所依據的連結 Cube。 |
多個階層移轉到同一個維度時,自動存在可能會產生不同的查詢結果 |
當多個階層或虛擬維度移轉至同一個 MicrosoftSQL Server 2008Analysis Services 維度中時,查詢包含於此維度中的這些移轉階層可能會產生與查詢處於 SQL Server 2000Analysis Services 中之相同階層不同的結果,因為自動存在功能會自動從包含移轉階層之成員集的任何交叉聯結中移除此維度內不存在的 Tuple。若要解決此問題,您應該檢閱在相同維度中涉及多個階層的計算。 |
若使用已停用的層級,則瀏覽經驗會不同 |
自從 SQL Server 2005Analysis Services 以來,便不再支援階層中隱藏或停用的層級。隱藏或停用層級會移轉為可見與啟用層級。包含這類層級的階層之計算會傳回非預期的結果。升級之後,請檢閱並確認牽涉到先前包含隱藏或停用層級之階層的計算。 |
群組層級的值區可能不同 |
自從 MicrosoftSQL Server 2005 Analysis Services (SSAS) 以來,自動群組可能傳回不同的成員群組集。依賴這些成員群組的計算可能傳回非預期的結果。升級之後,請檢閱並確認仰賴成員群組的計算。 |
從中性語言到特定語言的轉換會產生非預期的結果 |
在 SQL Server 2000Analysis Services 和舊版中,Analysis Services 只會使用中性語言識別碼 (也稱為主要語言識別碼),例如代表英文的 LANG_ENGLISH (0x09) 和代表中文的 LANG_CHINESE (0x04)。 為了支援翻譯與定序選項,Analysis Services 現在會使用特定的語言識別碼,其為用於特定文化特性之主要語言識別碼與次語言識別碼的組合。例如,主要語言識別碼 LANG_ENGLISH (0x09) 和次語言識別碼 SUBLANG_ENGLISH_AUS (0x03) 的組合會描述澳大利亞英文。 從中性語言移轉到特定語言識別碼會變更預期的翻譯和定序行為,而產生非預期的結果。升級之後,請檢閱及驗證語言識別碼已變更的物件,例如維度、階層和成員。 |
不支援 Cube 角色命令 |
MicrosoftSQL Server 2008Analysis Services 不支援 Cube 角色的命令物件,而且不會從舊版移轉命令。 |
自訂層級公式的彙總方式不同 |
如果 Cube 包含具自訂層級公式的維度,而且同時在其之前與之後都有包含具自訂成員公式及/或一元運算子的維度,則 Cube 所傳回的結果,可能會與舊版的 Analysis Services 不同。這是因為計算優先順序規則已經變更。 |
自訂成員公式和自訂積存公式會移轉到 MDX 指令碼中 |
在舊版的 Analysis Services 中,維度和層級上支援下列屬性:自訂積存公式、自訂成員公式、所有成員公式和自訂層級公式。在 SQL Server 2005Analysis Services 中,這些屬性已由多維度運算式 (MDX) 指令碼中支援的功能所取代,而且會在移轉期間升級為 MDX 指令碼。 |
不移轉自訂彙總 |
在舊版 Analysis Services 中手動產生的彙總不會在 MicrosoftSQL Server 2008Analysis Services 中移轉。只會移轉由儲存體設計精靈產生的彙總。若要解決此問題,請使用 XMLA 指令碼來手動建立彙總。 |
資料成員一律存在於父子式維度中 |
舊版的 Analysis Services 可讓您選擇不在父子式維度中包含資料成員。舊版 Analysis Services 中維度的 DataMembers 屬性支援三個選項:None、Hidden 或 Visible。None 選項無法在 MicrosoftSQL Server 2008Analysis Services 中使用。資料成員一定會包含在父屬性中。若要隱藏父子式維度中的資料成員,您可以將維度的 DataMembers 屬性設定為 Hidden。父屬性 (Attribute) 的 MembersWithData 屬性 (Property) 只支援兩個選項:NonLeafDataHidden 或 NonLeafDataVisible。 |
不支援資料庫角色命令 |
MicrosoftSQL Server 2008Analysis Services 不支援資料庫角色的命令物件,而且不會從舊版 Analysis Services 移轉命令。 |
DefaultMember 移轉到 MDX 指令碼中 |
在舊版 Analysis Services 中,維度的預設成員是由維度之 DefaultMember 屬性中包含的多維度運算式 (MDX) 所指定。而在 MicrosoftSQL Server 2005 Analysis Services (SSAS) 中,這個屬性已由 MDX 指令碼中支援的功能所取代,而且該屬性會在移轉過程中升級為 MDX 指令碼。 |
因移轉而重新命名維度和階層,會造成不同的查詢結果 |
SQL Server 2000Analysis Services 中的維度階層會在內部表示成個別的維度,並使用命名慣例來識別它們。移轉至 MicrosoftSQL Server 2008 可能針對每個維度階層,以新名稱建立個別的維度,而不是在父維度底下將維度階層結合在一起,因為自動存在會產生與舊版 Analysis Services 不同的安全性規則套用。 |
不移轉鑽研設定 |
MicrosoftSQL Server 2008Analysis Services 仍保有鑽研,但是舊版 Analysis Services 的鑽研設定不會移轉過來。 |
移轉之後,即可看見隱藏的層級 |
Analysis Services 不再支援階層中隱藏的或停用的層級。隱藏或停用層級會移轉為可見與啟用層級。包含這類層級的階層之計算會傳回非預期的結果。 |
無效物件導致移轉失敗 |
資料庫包含無效物件。若資料庫包含無效物件,則無法完成移轉。 |
不移轉連結的 Cube |
舊版的 Analysis Services 支援連結的 Cube。在 MicrosoftSQL Server 2005 Analysis Services (SSAS) 中,這項功能已經由連結維度和連結量值群組所取代。 |
在移轉期間,成員唯一名稱會變更 |
Analysis Services 試圖在移轉期間保留成員的唯一名稱,但在某些情況下,成員的唯一名稱會變更。如果成員唯一名稱變更,則依據成員唯一名稱的用戶端應用程式、多維度運算式 (MDX) 運算式和其他屬性,有可能會產生非預期的結果。 |
不支援 ODBC 資料來源 |
雖然舊版 Analysis Services 可讓您使用 ODBC 資料來源,但是現在已不再支援這項功能。 |
不移轉遠端資料分割 |
遠端資料分割不會從 MicrosoftSQL Server 2000Analysis Services 移轉至 MicrosoftSQL Server 2008Analysis Services。請將伺服器升級至 SQL Server 2008Analysis Services,然後手動建立遠端資料分割。 |
不支援某些採礦模型演算法參數 |
舊版 Analysis Services 支援使用 MINIMUM_LEAF_CASES 參數搭配 Microsoft 決策樹演算法,以及使用 MINIMUM_CLUSTER_CASES 參數搭配 Microsoft 群集演算法。自從 SQL Server 2005Analysis Services 以來,這兩個參數都已經重新命名為 MINIMUM_SUPPORT。如果這些參數用於使用舊版 Analysis Services 建立的採礦模型中,則不會移轉這些參數。 |
某些 MDX 函數的行為已變更 |
由於 MicrosoftSQL Server 2005 Analysis Services (SSAS) 的多維度運算式 (MDX) 語言中的增強功能和變更,因此某些 MDX 函數已不再受支援,或者其行為方式與舊版 Analysis Services 不同。 |
CREATE KPI 命令導入新的關鍵字 |
CREATE KPI 命令已經導入新的關鍵字 KPI。如果現有的物件具有 KPI 名稱,新的關鍵字將與這些物件產生衝突。 |
不支援維度安全性的最上層 |
在舊版的 Analysis Services 中,您可以指定維度安全性,讓使用者看到的最上層不同於階層的最上層。使用最上層設定所保護的成員,在移轉之後便看得見。 |
未移轉和註冊 UDF 來源 .DLL |
不移轉在舊版的 Analysis Services 上註冊的使用者定義函數 (UDF)。 |
非父子式階層上的一元運算子含有限支援 |
自從 MicrosoftSQL Server 2005 Analysis Services (SSAS) 以來,除非階層中當做層級來源的屬性間有屬性關聯性存在,否則不支援在父子式階層以外的階層上使用一元運算子。 |
不支援虛擬 Cube |
舊版的 Analysis Services 支援虛擬 Cube、量值子集的結合檢視和來自一或多個一般或連結 Cube 的維度。在 MicrosoftSQL Server 2005 Analysis Services (SSAS) 中,這項功能已由連結量值群組取代。在升級期間,虛擬 Cube 是以連結量值群組來移轉。 |
不移轉回寫資料表內容 |
舊版 Analysis Services 所建構的回寫資料表的結構已在 MicrosoftSQL Server 2005 Analysis Services (SSAS) 中更新。舊版 Analysis Services 所建構之回寫資料表中的資料無法移轉至新的回寫資料表結構。 |