我们正在使用基于事实表的退化维来创建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(基于这些列的平面文件输出 - 即信封的背面)。所有添加的退化维都是唯一的。从阅读有关如何兼容级别应该“通过”我们对此感到满意:
- 数据库来源是SQL Server 2012的兼容性水平集上。
- 目标OLAP数据库使用
1100
兼容性 - 多维数据集分区使用
1100
兼容性 - 尺寸使用
1100
兼容性 - 有65个以下十亿记录
- 所有的记录都是独一无二的
什么其他选项或设计更改是否必须解决这个看似不可能的错误?
嗨,我现在正面临着这个问题。你能否让我知道,你是如何解决这个问题的? – Chandru
@Chandru,我相信我最后的“解决方案”只是重新创建OLAP项目,从头开始将所有内容都设置为1100。如果我在构建/过程之后设置了兼容性,则构建XML中的某些内容不会更新。不是最好的解决方案,但这是我如何解决它的。 – wergeld
感谢您的回复。好的,会尝试这个解决方案。如果您了解其他任何解决方案,请告诉我们。 – Chandru