我已经组合了一个 SSIS 包并将其部署到 SQL 服务器。这个包需要按需运行,并且需要传递给它的值、批号和请求数据的人的用户 ID。我花了相当多的时间研究如何传递值,但找不到任何我可以使用的东西。最简单的方法是从存储过程执行 xp_cmdshell 或直接从应用程序调用 DTEXEC,但在这种情况下不能使用这些。该公司已确定 xp_cmdshell 存在太大的安全风险,并且并非每个用户都将拥有直接调用 DTEXEC 的必要权限,该公司也没有在每个用户的计算机上安装二进制文件并使程序包在本地运行所需的许可证.
所有这些都引出了一个问题:如何将值传递到 SSIS 包中?
我已经研究过使用 SQL 作业,因为它们可以修改包中的变量,但后来我不得不将值放入作业中,并且没有找到任何直接执行此操作的方法。我已经看到它建议使用表并让包从那里获取值,但这留下了如何处理试图同时运行包的多个人的问题。
此外,如果有人想知道这个包在做什么,它正在做一堆模糊查找,因为我们只使用 SQL 标准,我没有选择通过主数据从 T-SQL 中做模糊的东西服务。想法?