在执行DDL任务

时间:2017-10-09 22:40:43

标签: sql-server ssis ssas

我有一个包含Execute DDL Task的SSIS包(SQL Server 2016)。任务是备份SSAS表格多维数据集(因此可以在另一个域上的第二台服务器上复制)。

通常,当我编写SSIS包时,我会参数化可能随时间变化的所有内容。在这种情况下,我想参数化我备份文件的位置以及要使用的密码。

在常规SSIS脚本任务中,我可以直接引用项目参数。我没有看到使用Execute DDL Task执行此操作的任何方法。我能做的最好的事情是从变量中获取整个脚本,然后引用相关参数。

我遇到的挑战是我正在使用密码,所以我想将密码项目参数标记为敏感。一旦我这样做,我就不能在变量中引用参数。

我的选项似乎是:

  1. 保留密码项目参数未标记为敏感(意味着任何打开包和/或有权访问SSISDB环境变量的人都可以看到它)

  2. 在DDL任务中对脚本进行硬编码,而根本不参数化密码或文件名。此外,加密整个包(而不仅仅是敏感属性),以便打开包的任何人都看不到它。

  3. 第二个选项听起来最好,因为它不涉及纯文本中可见的密码。但是,它不允许对密码进行任何参数化。 (这意味着每次密码更改都需要重新部署包。)

    我错过了什么吗?是否有另一种方法可以在SSIS中的Execute DDL Task中引用参数化密码,这是我不知道的?针对此方案的任何其他建议?

1 个答案:

答案 0 :(得分:0)

这是在ssis脚本任务中引用敏感参数的语法: enter image description here