如何使用SSIS 2014和脚本任务

时间:2015-11-10 15:16:10

标签: sql-server ssis ssas script-task ssdt-bi

我也在这里发布了这个问题: https://social.msdn.microsoft.com/Forums/en-US/5aca721a-1148-451f-bac6-d1bee6b2aad7/how-to-process-ssas-2012-cube-with-ssis-2014-and-script-task?forum=sqlintegrationservices

为了处理不同服务器上的不同SSAS数据库,我使用了与此处描述的类似方法(#2,使用AMO(分析管理对象)):

http://aniruddhathengadi.blogspot.in/2011/12/how-to-automate-cube-processing.html

这适用于处理SQL Server 2008 R2和2012中的多维数据集,但SSAS和SSIS始终是相同的版本。

现在我有了一个不同的星座:Integration Services在一个服务器上运行,在2014版本中,Analysis Services实例在另一台服务器2012版本上运行时处理多维数据集数据库。

我尝试了几种不同的SSIS版本和Analysis Management Objects版本的组合,并在运行流程包时遇到了几个错误(例如,对象引用没有设置为对象的实例,找不到AnalyisServices.dll ..)

在我做更多的试验和错误之前,我对正确的方法有一些一般性的问题 - 也许有人已经成功地做到了这一点:

  1. 这个组合2014/2012是否可行?
  2. 我认为BIDS版本必须是我想要的SQL Server 2014 在2014服务器上运行SSIS包,这是正确的吗?可以 重要的是,我还可以部署2012套餐吗?
  3. 我必须使用哪个版本的Analysis Management Objects?一世 假设我必须在这里使用版本11.0,因为我想处理一个 2012立方体?
  4. 如果可以使用" old" AMO的11.0版本,我必须这样做 做任何事情,以便运行的SSIS包可以找到它 服务器(它是在我的本地计算机上构建的,我有所有SQL 2005年到2014年的服务器版本并行安装,或者我 只需将其复制到适当的SQL Server文件夹?
  5. 提前感谢每一个提示!

1 个答案:

答案 0 :(得分:0)

要使用SSIS处理SSAS多维数据集,建议不要在脚本任务中执行此操作,而应使用执行SQL Server代理作业任务。

首先设置一个SQL Server代理作业,该作业使用SQL Server Analysis Services命令步骤来刷新SSAS多维数据集。以下是此步骤所需的JSON代码。更新数据库属性以使用您的实际数据库名称。

 {
   "refresh": {
    "type": "full",
    "objects": [
      {
        "database": "YourDatabase"
      }
    ]
  }
}

现在,在SSIS包中,您可以使用“执行SQL Server代理作业”任务来运行您创建的SQL Server代理作业以刷新SSAS多维数据集。