进程默认值(整个数据库)SSIS 任务实际执行的操作



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

读到在"数据库"设置粒度将确保我同时处理度量值组和维度。

但是,我的几个立方体已经几天没有处理了。

我认为进程默认值(选择整个数据库)将使所有对象"最新"

我认为情况可能并非如此。谁能澄清一下?

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

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

  • 如果您新创建它。
  • 如果更改对象结构,则使子对象仅可见或不可见不会更改结构,在大多数情况下重命名子对象
  • 也不会更改结构,但添加或删除子对象会更改结构。
  • 如果显式取消处理它(使用 process 命令的"取消处理"或"清除进程"选项)。
  • 如果处理当前对象所依赖的对象,并且以不保留关系的方式执行此操作。 例如,如果执行维度的完整过程,则与维度相关的所有度量值组都将未处理。如果对维度执行"处理更新",度量值组将保持处理状态。

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

真正的事情是插入 2 个 SSIS 处理元素(必须先处理维度):

1 个处理所有维度的 SSIS 元素

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

Dimension processing->Cubes processing
处理

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

最新更新