【发布时间】:2011-11-02 19:13:37
【问题描述】:
我发现一个帖子声称可以pass parameters to a SQL Agent Job,但没有包含“如何”。有人能解释一下这是怎么做到的吗?
在我的场景中,我需要一个存储过程来调用 SQL 代理并传递一个参数。反过来,SQL 代理作业必须将参数传递给 SSIS 包步骤。
我听说的另一种方法是让存储的 proc 将值写入表,然后让 SQL 代理作业(或它调用的 SSIS 包)从表中读取这些值。如果必须的话,我会采用后一种方法,尽管它很笨拙。
更新: 本练习的目的是形成一个集成测试,包括 (a) 提供包配置文件的 SQL 代理作业和 (b) 需要包配置文件中的值的 SSIS 包。因此我不想直接调用 SSIS 包。此外,测试人员无权直接启动 SQL 代理作业,也不应允许他们动态创建 SQL 代理作业。 sproc(合法地)规避了权限问题。最后,集成测试可以针对数十个 SSIS 包之一,但在我的环境中拥有数十个 SQL 代理作业定义是不切实际的。因此,sproc 启动 SQL Agent 作业,参数指示要启动哪个 SSIS 包。
【问题讨论】:
-
可以多人同时运行这个存储过程吗?
-
SSIS 有什么不是很杂乱的东西吗?
-
您要解决的问题是什么?
标签: sql-server tsql parameters ssis