KB2606211 - 修正:如果 WHERE 子句具有具名集,則在 SSAS 2008 R2 或 SSAS 2012 中,當複雜的 MDX 查詢具有 NONEMPTY 子句時發生錯誤

Applies To
SQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Express SQL Server 2012 Standard SQL Server 2012 Web

Microsoft 會將 Microsoft SQL Server 2008 R2 Service Pack 1 (SP1) 或 Microsoft SQL Server 2012 修正程式作為一個可下載的檔案進行發佈。 由於這些修正程式是累積的,因此每個新版本都包含先前的 SQL Server 2008 R2 Service Pack 1 (SP1) 或 SQL Server 2012 更新版本中包含的所有 Hotfix 和所有安全性更新。

症狀

請考慮以下案例:

  • 在 Microsoft SQL Server 2008 R2 Analysis Services (SSAS 2008 R2) 的執行個體或 Microsoft SQL Server 2012 Analysis Services (SSAS 2012) 的執行個體上執行複雜的多維度運算式 (MDX) 查詢。

  • 下列條件適用於 MDX 查詢:

    • MDX 查詢使用 NONEMPTY 函數。
    • MDX 查詢的 WHERE 子句具有具名集合。
    • MDX 查詢的軸集和具名集使用相同維度的階層。

在此案例中,您可能會收到下列錯誤訊息:

注意

運算式包含無法在超過 4,294,967,296 個元組的集合上運算的函數。

注意:這個問題也會在 Microsoft SQL Server 2008 Analysis Services (SSAS 2008) 中出現。

解決方式

累積更新資訊

SQL Server 2012

此問題的修正程式最初在 SQL Server 2012 的累積更新 1 中發行。 如需有關此累積更新套件的詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:

2679368 SQL Server 2012 累積更新套件 1 注意 由於這些組建是累積的,因此每個新發行的修正程式都包含所有 Hotfix 和所有安全性修正程式,這些修正程式隨附於上一個 SQL Server 2012 修正程式版本。 Microsoft 建議您考慮套用包含此 Hotfix 的最新修正版本。 如需詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:

2692828 SQL Server 2012 發行之後所發行的 SQL Server 2012 組建 您必須將 SQL Server 2012 Hotfix 套用至 SQL Server 2012 的安裝。

SQL Server 2008 R2 SP1 的累積更新套件 3

此問題的修正程式最初在累積更新套件 3 中發行。 如需有關如何取得 SQL Server 2008 R2 SP1 累積更新套件的詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:

2591748 SQL Server 2008 R2 SP1 的累積更新套件 3 注意 由於這些組建是累積的,因此每個新發行的更新都包含所有 Hotfix 和所有安全性更新,這些更新版本隨附於前一個 SQL Server 2008 R2 SP1 更新版本。 建議您考慮套用包含此 Hotfix 的最新更新版本。 如需詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:

2567616 SQL Server 2008 R2 SP1 發行之後所發行的 SQL Server 2008 R2 組建

因應措施

若要解決此問題,請使用 NON EMPTY 子句而不是 NONEMPTY 函數,並移除 WHERE 子句中的不同細微性或其他類型的任意圖形集。

狀態

Microsoft 已確認這是「適用對象」一節中列出的 Microsoft 產品中的問題。