我(可能很天真地)设置了一个SSIS包来每晚处理我的SSAS数据库。
我读到在"数据库"设置粒度将确保我同时处理度量值组和维度。
但是,我的几个立方体已经几天没有处理了。
我认为进程默认值(选择整个数据库)将使所有对象"最新"
我认为情况可能并非如此。谁能澄清一下?
最简单的方法是对数据库执行"完整进程"。不要使用"默认"处理,因为这主要在开发过程中有用,当您倾向于更改多维数据集对象的结构,但数据内容不会更改时。然后它优化处理,只处理受结构变化影响的立方体部分。
默认处理检测所有对象(如维度、多维数据集、度量值组、分区、聚合)的状态。状态可以是已处理、未处理或部分已处理的任何状态。进程默认值使部分或未处理的对象进入已处理状态。它不检查关系数据源上是否有任何数据已更改,它只是检查数据库中对象的状态。对象可以通过以下方式之一进入未处理状态:
- 如果您新创建它。 如果更改对象结构,则使子对象仅可见或不可见不会更改结构,在大多数情况下重命名子对象
- 也不会更改结构,但添加或删除子对象会更改结构。
- 如果显式取消处理它(使用 process 命令的"取消处理"或"清除进程"选项)。
- 如果处理当前对象所依赖的对象,并且以不保留关系的方式执行此操作。 例如,如果执行维度的完整过程,则与维度相关的所有度量值组都将未处理。如果对维度执行"处理更新",度量值组将保持处理状态。
当有大量数据处理时,整个数据库无法工作。
真正的事情是插入 2 个 SSIS 处理元素(必须先处理维度):
1 个处理所有维度的 SSIS 元素
2 处理所有多维数据集的 SSIS 元素
Dimension processing->Cubes processing
处理选项必须在"完全处理"中完成,然后将处理所有数据。当然,这个处理时间最长。