2016-07-22 49 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模式下处理尺寸 - 这必须修复错误