2016-07-22 50 views
1

我們正在使用基於事實表的退化維來創建OLAP多維數據集,以鏈接到另一個到多個事實表。我們將SQL Server 2012上的源數據庫的兼容性級別設置爲SQL Server 2012 (110)。我們已將此退化維上的stringstoragecompatibilitylevel設置爲1100。我們甚至將所有維度和多維數據集分區設置爲1100。然而,我們仍然發現了以下錯誤:4GB時接收錯誤文件大小限制即使兼容級別爲1100

Processing Dimension Attribute 'Data Time Period ID' failed. 155130000 rows have been read. 
    Start time: 7/21/2016 9:31:08 AM; End time: 7/22/2016 10:08:00 AM; Duration: 24:36:52 
    Error Messages 1 
     File system error: A string store or binary store with a compatibility level of '1050' 
     is at the maximum file size of 4 gigabytes. To store additional strings, you can change 
     the StringStoresCompatibilityLevel property of the associated dimension or distinct count 
     measure to '1100' and reprocess. This option is only available on databases with a 
     compatibility level of '1100' or higher. 
     Physical file: \\?\I:\s2012\OLAP\Data\DATAwarehouse.0.db\DimfactDegenerate.0.dim\18.Data Time Period ID.asstore. 
     Logical file: . 
     Errors in the OLAP storage engine: An error occurred while the 'Data Time Period ID' attribute 
     of the 'DimfactDegenerate' dimension from the 'DATAwarehouse' database was being processed. 

目標OLAP數據庫,維度,多維數據集分區和源數據倉庫都被設置爲使用1100。我已通過腳本化數據庫並搜索兼容性級別來驗證OLAP數據庫/維度/分區都在1100上。我甚至搜索了1050,並沒有顯示在腳本中。

事實表中有大約9億條記錄。橋表包含18億條記錄。基於事實表的退化維中使用的2列的總大小約爲15 GB(基於這些列的平面文件輸出 - 即信封的背面)。所有添加的退化維都是唯一的。從閱讀有關如何兼容級別應該「通過」我們對此感到滿意:

  1. 數據庫來源是SQL Server 2012的兼容性水平集上。
  2. 目標OLAP數據庫使用1100兼容性
  3. 多維數據集分區使用1100兼容性
  4. 尺寸使用1100兼容性
  5. 有65個以下十億記錄
  6. 所有的記錄都是獨一無二的

什麼其他選項或設計更改是否必須解決這個看似不可能的錯誤?

+0

嗨,我現在正面臨着這個問題。你能否讓我知道,你是如何解決這個問題的? – Chandru

+0

@Chandru,我相信我最後的「解決方案」只是重新創建OLAP項目,從頭開始將所有內容都設置爲1100。如果我在構建/過程之後設置了兼容性,則構建XML中的某些內容不會更新。不是最好的解決方案,但這是我如何解決它的。 – wergeld

+0

感謝您的回覆。好的,會嘗試這個解決方案。如果您瞭解其他任何解決方案,請告訴我們。 – Chandru

回答

-1

將stringstoragecompatibilitylevel更新爲1100後,在FULL模式下處理尺寸 - 這必須修復錯誤