SQL 服务器中的 SSIS:如何让它存储密码

SSIS in SQL Server: How to get it to store password

我是一名 Oracle 人员,突然 SQL 服务器和 SSIS 掉在了他的腿上,所以我可能没有以正确的方式使用术语,但这里是:

有一个 SSIS 包可以将 Oracle 数据库中的数据提取到我们的 SQL Server 2008 R2 仓库中。如果我在 SSIS Visual Studio 2008 中打开此包,系统会提示我输入密码:

The sensitive data in the package 'MyRefresh.dtsx' is encrypted with a password.

对于包本身。我输入密码。我运行包了。效果很好。 之前的那个人每天凌晨 1 点将这个包加载到 SQL 服务器,工作到 运行,在那里也工作得很好。

最近,数据库发生了一些变化。当然,包裹停止工作了。我能够修复它,而且,如果 运行 通过 SSIS Visual Studio 2008,它 运行 很好。但是,当我将它加载到 SQL 服务器时,并且作业 运行s,它失败了:

0xC001405F Failed to decrypt an encrypted XML node because the password was not specified or not correct.

Where/how给我指定密码这样才行运行?

您可以将 /de 开关与 dtexec 实用程序一起用于您的密码,如下所示:

dtexec /f <filename> /de <password>

如果有机会我建议您不再使用EncryptAllWithPassword保护级别。在此处阅读有关包加密级别的更多信息:

http://sqlblog.com/blogs/eric_johnson/archive/2010/01/12/understanding-the-ssis-package-protection-level.aspx

简而言之,包加密的思想是阻止人们打开包XML提取明文密码。但通常这是以不安全的方式实现的,这违背了目的。

我建议您始终使用 windows 身份验证:

  1. 确保您的 Oracle 服务器支持外部身份验证
  2. 使用 SQL 代理 windows 服务帐户
  3. 创建 Oracle 的外部标识登录
  4. 在您的 Oracle 连接管理器中,使用外部身份验证(使用用户 / 登录且无密码)
  5. 如果您有任何 SQL 服务器连接管理器,您需要执行相同的操作(在 SQL 服务器中,这称为 windows 身份验证)
  6. 最后确保所有开发人员都在 SQL 服务器中设置了 windows 身份验证,在 Oracle 中设置了外部身份验证,以便他们可以 运行 BIDS
  7. 中的程序包

现在您不再需要加密您的包裹(您可以使用 DontSaveSensitive)。所有操作的权限都针对 SQL 代理服务帐户。

您不再需要记住包密码或 Orace 登录密码。

另外,例如,如果您需要轮换 Oracle 登录名的密码,最初您必须在包中的 Oracle 中更改此密码。但是通过使用 windows 身份验证,这不再是必需的。

如果你有兴趣,我可以给你更多信息。

回答晚了,但可能对其他 users/thread 访客有帮助

简而言之,要将包加载到 SQL 服务器,必须使用指定的新凭据将其导出,然后导入回指定的文件夹。

这是我找到的关于设置 SSIS package encryption manually in SSMS 的文章,它提供了有关如何 Import/Export 加密包的快速教程。

请注意,保护级别选项在一种情​​况下涉及敏感数据,在另一种情况下涉及特定包中包含的所有数据。被认为是敏感的数据在 Integration Services 中默认设置:以前标记为精细、不可更改的 XML 标签的变量,由 SSIS 服务控制,以及密码,如果“全部加密”,则可以被认为是敏感的选择了带密码的数据。

包保护级别:

  • 不保存敏感数据:如果存在敏感数据,新包导出后将不包含,保持不可用;
  • 使用用户密钥加密敏感数据:敏感数据将使用当前用户凭据加密,包仍然可以在本地服务器上使用。哪些数据将被视为敏感数据,取决于包的 creator/owner;
  • 使用密码加密敏感数据:在这个级别,必须提供密码——如果用户只想将敏感数据保密,这种加密是可取的。
  • 使用用户密钥加密所有数据:与敏感数据加密一样,可以在本地服务器上使用,但它会考虑包内的所有数据;
  • 用密码加密所有数据:此级别加密包内的所有数据,需要密码,并提供 100% 的隐私。

希望此信息对您有所帮助。