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

如何在SSIS中处理SSAS对象(单个任务或多个子任务)?,ssis,sql-server-2012,ssas,sql-server-data-tools,Ssis,Sql Server 2012,Ssas,Sql Server Data Tools,我正在研究SSIS和SSAS,以构建一个BI平台 我想开发一个SSIS工作流来处理我的所有SSAS对象。 因此,我想使用“AnalysisServices处理任务”来完成所有工作 在我的例子中,有8个立方体使用了超过15个维度(一个维度可以被几个立方体使用) 我应该使用一个Analysis Services处理任务来处理所有SSAS对象,还是可以将它们拆分为不同的子任务。例如,每个子任务包含一个包,其中包括一个“Analysis Services处理任务” 例如: 包1-任务1-处理维度 包

我正在研究SSIS和SSAS,以构建一个BI平台

我想开发一个SSIS工作流来处理我的所有SSAS对象。 因此,我想使用“AnalysisServices处理任务”来完成所有工作

在我的例子中,有8个立方体使用了超过15个维度(一个维度可以被几个立方体使用)

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

例如:

  • 包1-任务1-处理维度
  • 包2-任务2-处理多维数据集1
  • 包3-任务3-处理多维数据集2
即使一个ASP任务可以使用并行进程,这种方法是否会更有效


谢谢

通常,我会用最简单的方式运行完整数据库的“进程完整”。然后AnalysisServices处理依赖关系,并使用多个并行线程来处理所有内容。默认情况下,一切都是一个事务的一部分,即。E如果任何操作失败,所有操作都将保持原始的一致状态,用户在处理过程中会看到原始状态,处理成功后会看到新状态。用户看不到中间、半新半旧的状态

只有在有理由偏离这种简单方法的情况下,我才会使用另一种方法。原因可能是:

  • 完全重新处理所有内容需要很长时间,您知道源数据的哪些部分已更改,哪些未更改
  • 您希望避免由于后期处理步骤中出现的问题而导致几个小时的处理时间减少,并且您可以忍受由于某些零件正在处理而导致的不一致性,而有些零件没有
  • 您的服务器资源有限,AnalysisServices的默认处理是由于尝试并行化太多而停止,然后由于资源太少而陷入困境。同样,服务器上没有足够的磁盘空间来承载事务处理所需的两个数据副本

第一个是最有可能的。

您的方法将确保在处理多维数据集时不会丢失密钥。一般来说,这是个好主意。如果处理时间过长,考虑增量处理和惰性聚合。