所以我基本上对BI的概念不熟悉,并且我继承了现有的ETL流程,这是一个两步流程:
将数据加载到仅由多维数据集处理
针对所述数据库启动SSAS多维数据集处理
它看起来相当孤立,但偶尔(每周一次,有时两次)它将失败,但有以下异常:
“OLAP存储引擎中的错误:无法找到属性键”
现在有趣的是:
有问题的维度通常不一样(即没有单一维度始终存在此失败)
源表,当我检查它时,确实包含无法找到的属性键
如果我通过SSMS手动立即重新处理维度和多维数据集,他们会成功重新处理并且不会发生任何事故。
在上述工作和我通过SSMS重新处理它们时,我使用的是“ProcessFull”,所以它应该完全重新处理它们。
有没有人遇到过这样的问题?我正在摸不着头脑......因为如果这是一个真正的数据完整性问题,再次处理多维数据集将无法修复它。到底发生了什么?我的任务是找出发生这种情况的原因,但我既不能一致地重现它,也不能指出数据完整性问题是根本原因。
感谢您提供的任何输入!
答案 0 :(得分:4)
我遇到了类似的问题,我发现在处理多维数据集之前处理维度对我有用。
答案 1 :(得分:1)
你说包开始处理,处理的设置是什么?
我想知道它是否最后处理尺寸,这可以解释它。如果事务和并行的数量不常见,那么这可能只发生在一个完整的进程上。检查手动完整过程中的设置与自动过程中的设置。
答案 2 :(得分:1)
应始终先处理尺寸。
立方体怎么知道如何绘制出来的东西?
例如,可能出现了事实表中出现的新项目,但尚未将其添加到产品维度中。它将无法执行连接并将失败。
答案 3 :(得分:1)
我见过类似于AS2005和AS2008的东西。尽管已经处理了尺寸,但我们得到了Dimension Key not found错误。
我们每天加载和处理尺寸。在本月的第一天,创建了新分区。在每月的第一个周末,在每日维度处理之后,加载事实表并处理分区。所有这些都是通过SSIS完成的。几个月以来,分区处理一直在失败。如果我们等待一天,让每日维度处理运行一次,则分区处理OK。测试表明,在事实表加载后,在一个关键维度上运行ProcessUpdate允许关联的分区进行处理。请注意,交互特定于每个分区,并取决于正在加载的事实表。如果我们加载事实表A,处理维度,那么分区A将处理。如果我们迟到加载事实表B,我们将不得不等待维度处理在分区B处理之前再次运行。
众所周知,维度ProcessUpdate将使关联的分区索引和聚合无效,因此维度和分区处理之间存在联系。我怀疑我们可能会看到一些额外的无证互动。