Nathan C Asked: 2023-06-02 05:06:40 +0800 CST2023-06-02 05:06:40 +0800 CST 2023-06-02 05:06:40 +0800 CST 在 SQL 代理作业中使用 SSIS 项目参数 772 我正在使用 SQL Server 2019 并尝试为我的 SSIS 项目设置项目参数。我已经在包本身内设置了项目级参数,这些参数确实出现在 SSMS 中供我配置: 我正在使用多个环境引用,这会导致在设置新作业时出现问题: 如您所见,仅支持单一环境,尽管在项目级别进行了设置,但仍需要我再次映射参数。我觉得我在这里遗漏了一些明显的东西。我正在使用 SSMS 18.6。 ssms 1 个回答 Voted Best Answer billinkc 2023-06-09T00:06:29+08:002023-06-09T00:06:29+08:00 正如您所说,您只能在一个 SSIS 项目中拥有一个环境引用 - 很遗憾。 你的选择是 制作所有项目用于其配置的单一环境。好处是它都在一个地方,可以帮助您解决遇到的问题。缺点是所有的 cookie 都在一个罐子里,这可能不是一个很大的安全风险。一个更可能的问题是组织沟通。文件夹 A/Project 1 有一个 OutputFile 到 C:\ssisdata\foo\bar\myfile.txt 的连接字符串。文件夹 B/Project 2 已部署,他们为 OutputFile 设置了一个连接字符串到 C:\ssisdata\bar\blee\out.csv 没有意识到或不关心他们已经破坏了 Project 1 的设置。哎呀 每个文件夹都有自己的环境。好处是,您的所有配置都集中在一个地方,并且您与其他可能影响您的设置的团队隔离开来。缺点是涉及更多的管理。Sales 服务帐户的凭据是否已更改?现在您必须更新 N 个环境以反映这一点 一种混合方法。使用最丰富的环境,例如您的 SalesforceProd,然后对其余项目元素进行直接配置。好消息是这是每个项目的一次性任务。后续项目部署不会重置配置。缺点与 #2 相同,因为您需要更新配置,但现在在更改“共享”值时跨每个项目。 就其价值而言,可能不需要为连接字符串创建显式参数,因为您可以单击第一个屏幕截图中的“连接管理器”部分并从该屏幕配置它们。这允许您在包中删除一些额外的逻辑/表达式,并可能避免在日志或类似内容中泄露敏感数据。
正如您所说,您只能在一个 SSIS 项目中拥有一个环境引用 - 很遗憾。
你的选择是
就其价值而言,可能不需要为连接字符串创建显式参数,因为您可以单击第一个屏幕截图中的“连接管理器”部分并从该屏幕配置它们。这允许您在包中删除一些额外的逻辑/表达式,并可能避免在日志或类似内容中泄露敏感数据。