【问题标题】:How to re-establish the link between SSIS parameters configured at the project level and at the job level?如何重新建立在项目级别和作业级别配置的 SSIS 参数之间的链接?
【发布时间】:2021-12-16 05:53:08
【问题描述】:

SSIS 包参数可以在 2 个地方配置。

  1. 在集成服务目录下 - 在项目上(右键单击,配置)。
  2. 在 SQL 代理作业步骤包配置下。

在项目级别配置的参数会自动显示在作业级别,并且作业级别会获取在项目级别所做的任何参数更改。

如果在作业级别对参数进行了更改,那么这不会在项目级别更新。

假设您在作业级别更改了参数的值,那么即使您将值重置为原始值(以与项目级别的值匹配),那么在项目级别对此参数的任何后续更改都不会更新作业级别的值。有没有办法重新建立项目级别和工作级别参数之间的联系?

【问题讨论】:

    标签: ssis


    【解决方案1】:

    认为我理解这个问题,但如果我错过了标记,请告诉我。

    我有一个项目参数,MagicNumber。 在VS中的SSIS项目中,是-1。

    我将 SSISDB 部署到名为 Demo 的文件夹,并将部署的项目配置为值为 0。如果我右键单击并运行该包或创建一个作业来运行该包,它将使用值0.

    然后,在 SQL 代理作业中,对于该作业的所有执行,我将 MagicNumber 重新定义为 1。即使我随后返回配置项目以将 2 作为我的 MagicNumber,此作业的所有实例都将使用 1,因为我们已指定我们将覆盖配置的值。

    如果我创建了运行相同包的 Job2,它将使用 0 和 2 作为 MagicNumber,因为它会从项目配置中获取覆盖。

    如果您将相同的原始 .ispac 文件部署到不同的文件夹 Pristine 并运行该包,它将使用 -1,因为这是默认配置值。

    我们通过指定 MagicNumber 为 0 和 2,在 Demo 文件夹中的项目中的所有包运行中放置第一层配置。但是该作业允许我们通过使用作业特定级别添加另一层配置配置,1.

    如果您决定 1 应该是默认值,则更新 Demo 文件夹中项目的配置。如果您什么都不做,则 SQL 代理作业仍将使用本地提供的值,因此您需要编辑作业以删除本地配置的值并使用项目范围的配置值。

    【讨论】:

    • 您能否查看此行If I created Job2 which runs the same package, it will use 0 and then 2 - 为什么它会使用 0 和 2。它只会使用 2,不是吗?
    • 另外,您还没有回答我如何重新建立项目参数和作业参数之间的链接。例如:假设我错误地编辑了作业参数然后它断开了链接,并且将来对项目参数的更新不会影响作业参数。我想在不必创建新工作的情况下纠正这个错误。还是创建新作业是在项目参数和作业参数之间建立链接的唯一方法?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-09-02
    • 1970-01-01
    • 2017-07-01
    • 2021-07-19
    • 2019-04-04
    • 2020-06-19
    • 1970-01-01
    相关资源
    最近更新 更多