如何在SSIS中处理SSAS对象(单个任务或多个子任务)?

时间:2014-11-13 12:54:24

标签: ssis sql-server-2012 ssas sql-server-data-tools

我正在研究SSIS和SSAS来构建BI平台。

我想开发一个SSIS worflow来处理我所有的SSAS对象。 所以,我想使用“Analysis Services Processing Task”完成所有工作。

enter image description here

在我的情况下,有8个立方体使用更多的15个维度(一些维度可以被几个立方体使用)。

我应该使用一个Analysis Services处理任务处理所有SSAS对象,还是可以将它们拆分为不同的子任务。例如,每个子任务包含一个包,包括“Analysis Services处理任务”。

例如:

  • 包1 - 任务1 - 处理维度
  • 包2 - 任务2 - 处理多维数据集1
  • 包3 - 任务3 - 处理多维数据集2
  • ...

即使一个ASP任务可以使用并行进程,这种方法会更有效吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

通常情况下,我会采用最简单的方式运行" Process Full"完整的数据库。然后,Analysis Services负责依赖性,并使用多个并行线程来处理所有内容。默认情况下,一切都是一个单一交易的一部分,i。即如果有任何失败,一切都保持原始的一致状态,用户在处理过程中看到原始状态,处理完成后新状态成功完成。用户看不到中间,半新和半旧状态。

只有有理由偏离这种简单的方法,我会采用不同的方法。原因可能是:

  • 需要很长时间才能完全重新处理所有内容,并且您知道源数据的哪些部分已更改,哪些部分未更改。
  • 您希望避免由于后期处理步骤中出现的问题而导致数小时的处理时间过长,并且您可能会因为某些部件被处理而导致的不一致,有些则不会。
  • 您的服务器资源有限,并且Analysis Services的默认处理是雄心勃勃,因为尝试并行化过多而停止,然后由于资源太少而陷入困境。同样,服务器上没有足够的磁盘空间来托管事务处理所需的两个数据副本。
  • ...

第一个是最有可能的一个。