Process Default(整个数据库)SSIS Task实际上做了什么?

时间:2013-10-23 09:47:05

标签: ssis ssas

我(可能很天真)设置了一个SSIS包来每晚处理我的SSAS数据库。

我读到在“数据库”设置粒度将确保我处理了测量组和维度。

然而,我的几个立方体已经处理了几天。

我认为Process Default(选择整个数据库)会使所有对象“都是最新的”

我在想,情况可能并非如此。任何人都可以澄清吗?

2 个答案:

答案 0 :(得分:5)

最简单的方法是对数据库执行“完整过程”。不要使用“默认”处理,因为这在开发期间主要是有用的,当您倾向于更改多维数据集的对象结构时,但数据内容不会更改。然后它优化处理,仅处理受结构变化影响的立方体部分。

默认处理检测所有对象的状态,如维度,多维数据集,度量值组,分区,聚合。状态可以是任何已处理,未处理或部分处理的状态。 Process default将部分或未处理的对象带入处理状态。它不检查关系数据源上是否有任何数据已更改,它只检查数据库中对象的状态。 对象可以通过以下方式之一进入未处理状态:

  • 如果您新创建它。
  • 如果更改对象结构。使子对象只是可见或不可见不会改变结构,在大多数情况下也不会重命名子对象,但添加或删除子对象会有所改变。
  • 如果您明确取消处理它(使用流程命令的Unprocess或Clear process选项)。
  • 如果您处理当前对象所依赖的对象,并以不保持关系的方式执行此操作。 E. g。如果您执行维度的完整过程,则与维度相关的所有度量值组都将得到未处理。如果您执行维度的“流程更新”,则度量值组将保持处理状态。

答案 1 :(得分:2)

当有大量数据处理时,整个数据库无法工作。

真实的是你插入2个SSIS处理元素(必须先处理尺寸):

1个SSIS元素处理所有维度

2 SSIS元素处理所有多维数据集

Dimension processing->Cubes processing

处理选项必须在完整处理中完成,然后才会处理所有数据。当然这个处理时间最长。