使用SSIS在多个服务器上执行rss脚本,将结果存储在表中

时间:2014-09-25 07:38:19

标签: sql-server reporting-services ssis rss ssis-2012

我找到了一个很棒的脚本来收集报表服务器上使用的所有(共享)数据源:

LINK

我只是喜欢这个剧本。

但是,我正在寻找一种在多个报表服务器上执行此脚本的方法,并将结果添加到集中表中。这样我的同事和我就能很快看到使用的数据源。

我可以将此脚本放在每个报表服务器上,在中央服务器上收集csv,然后使用SSIS将它们插入到MSSQL表中。这样我就可以很好地了解所有使用过的数据源。

但是,我更希望将脚本放在一个位置,然后在服务器列表上执行该脚本。 类似的东西:

  1. 使用服务器循环访问表
  2. 执行脚本(见链接)
  3. 将生成的csv插入中心表(最好跳过此步骤,直接在表中插入数据)
  4. 下一个服务器
  5. 有关最佳方法的建议吗?它应该是一个webservicetask吗? Scripttask? 还有别的东西吗?

    所提到的脚本中的脚本水平正处于我所理解的边缘,所以如果有人知道如何调整脚本以便我可以在SSIS中将其用作数据流中的输入,那么我将是非常高兴。

    感谢您与我一起思考,

    Henro

1 个答案:

答案 0 :(得分:0)

使用名为rs.exe的实用程序调用此脚本,因此您将使用执行进程任务来调用它。为避免写入文件,您可以修改脚本并将结果插入表中。包可以设置如下:

  1. 创建一个foreach循环,循环遍历服务器的列表或ado.net记录集
  2. 将服务器名称放在变量
  3. 为流程任务的参数创建变量,引用步骤2中的服务器变量
  4. 添加使用上述参数的进程任务并调用rs.exe