【问题标题】:Receiving Error On 4GB File Size Limit Even With compatibility level of 1100即使兼容级别为 1100,在 4GB 文件大小限制上接收错误
【发布时间】:2016-11-26 12:36:47
【问题描述】:

我们目前正在使用基于事实表的退化维度创建一个 OLAP 多维数据集,以链接到另一个一对多事实表。我们在 SQL Server 2012 上将源数据库设置为SQL Server 2012 (110),并将其兼容级别。我们也将这个退化维度上的stringstoragecompatibilitylevel 设置为1100。我们甚至将所有维度和多维数据集分区设置为使用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. Cube 分区使用1100 兼容性
  4. 尺寸使用1100兼容性
  5. 记录不到 650 亿条
  6. 所有记录都是唯一的

我还需要哪些其他选项或设计更改来解决这个看似不可能的错误?

【问题讨论】:

  • 嗨,我现在正面临这个问题。能否请您告诉我,您是如何解决此问题的?
  • @Chandru,我相信我的最终“解决方案”只是从头开始重新创建 OLAP 项目,首先将所有内容设置为 1100。如果我在构建/处理之后设置了兼容性,则构建 XML 中的某些内容不会被更新。不是最好的解决方案,但这就是我解决它的方法。
  • 感谢您的回复。好的,将尝试此解决方案。如果您知道任何其他不同的解决方案,请告诉我们。

标签: ssas olap cube


【解决方案1】:

这发生在我最近的一次部署之后,即使那个维度没有被修改。我们对 stringstoragecompatibilitylevel = 1100 进行了更改,但仍然无法正常工作。

我们的解决方案是删除数据库,然后从 VS 和进程重新部署。幸运的是,这是一个测试环境,因此对最终用户没有影响。

【讨论】:

    【解决方案2】:

    您必须编辑 C:\Program Files\Microsoft SQL Server\MSAS14.MSSQLSERVER\OLAP\Data 中的 xml 配置文件,并且所有属性均指 StringStoresCompatibilityLevel 设置为 11

    【讨论】:

      【解决方案3】:

      对于还在为这个话题而苦恼的所有人:

      <Alter ObjectExpansion="ExpandFull" xmlns="http://schemas.microsoft.com/analysisservices/2003/engine">
          <Object>
              <DatabaseID>YourOlapDbNameHere</DatabaseID>
          </Object>
          <ObjectDefinition>
              <Database xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ddl2="http://schemas.microsoft.com/analysisservices/2003/engine/2" xmlns:ddl2_2="http://schemas.microsoft.com/analysisservices/2003/engine/2/2" xmlns:ddl100_100="http://schemas.microsoft.com/analysisservices/2008/engine/100/100" xmlns:ddl200="http://schemas.microsoft.com/analysisservices/2010/engine/200" xmlns:ddl200_200="http://schemas.microsoft.com/analysisservices/2010/engine/200/200" xmlns:ddl300="http://schemas.microsoft.com/analysisservices/2011/engine/300" xmlns:ddl300_300="http://schemas.microsoft.com/analysisservices/2011/engine/300/300" xmlns:ddl400="http://schemas.microsoft.com/analysisservices/2012/engine/400" xmlns:ddl400_400="http://schemas.microsoft.com/analysisservices/2012/engine/400/400" xmlns:ddl500="http://schemas.microsoft.com/analysisservices/2013/engine/500" xmlns:ddl500_500="http://schemas.microsoft.com/analysisservices/2013/engine/500/500">
                  <ID>YourOlapDbNameHere</ID>
                  <Name>YourOlapDbNameHere</Name>
                  <ddl200:CompatibilityLevel>1100</ddl200:CompatibilityLevel>
                  <Language>1033</Language>
                  <Collation>Latin1_General_CI_AS</Collation>
                  <DataSourceImpersonationInfo>
                      <ImpersonationMode>Default</ImpersonationMode>
      

      【讨论】:

        【解决方案4】:

        在将 stringstoragecompatibilitylevel 更新为 1100 后,在 FULL 模式下处理维度 - 这必须修复错误

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2018-12-26
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-05-01
          • 1970-01-01
          • 2019-10-19
          相关资源
          最近更新 更多