![]() |
1
26
答案指向本文: http://support.microsoft.com/kb/918760 以下是建议的解决方案-您评估过它们吗?
创建SQL Server代理代理代理帐户。此代理帐户必须使用允许SQL Server代理作为创建包的帐户或具有所需权限的帐户运行作业的凭据。 该方法对秘密进行解密,满足用户对密钥的要求。但是,由于SSIS包用户密钥涉及当前用户和当前计算机,因此此方法的成功可能有限。因此,如果将包移动到另一台计算机,即使作业步骤使用正确的代理帐户,此方法也可能失败。 回到顶端
将ssis package protectionlevel属性更改为serverstorage。此设置将包存储在SQL Server数据库中,并允许通过SQL Server数据库角色进行访问控制。 回到顶峰
将SSIS Package ProtectionLevel属性更改为EncryptSensitiveWithPassword。此设置使用密码进行加密。然后可以修改SQL Server代理作业步骤命令行以包含此密码。
使用SSIS包配置文件存储敏感信息,然后将这些配置文件存储在安全文件夹中。然后,您可以将ProtectionLevel属性更改为Dontsaversensive,这样包就不会加密,也不会尝试将机密保存到包中。运行SSIS包时,所需信息将从配置文件加载。如果配置文件包含敏感信息,请确保它们受到充分保护。
对于长期解决方案,请创建使用不同于默认设置的保护级别的包模板。这个问题在将来的包中不会发生。 |
![]() |
2
15
通过转到属性并添加password=yourpassword,可以将密码存储在配置字符串中。 但非常重要的是在“密码”前和“;”后加一个空格。 如下图所示:
希望这有帮助 ——Vijay K |
![]() |
3
8
|
![]() |
4
6
SSIS中设计的行为是防止在包中存储密码,因为这样做是不安全的/不安全的做法。 相反,要么使用Windows身份验证,这样就不会在包或配置文件中存储机密,要么,如果在您的环境中确实不可能这样做(例如,您可能没有Windows域),则必须使用中描述的解决方法。 http://support.microsoft.com/kb/918760 (山姆是对的,在那篇文章里再进一步读一读)。最简单的答案是一个与包配套的配置文件,但是你必须担心配置文件是安全存储的,这样别人就不能仅仅读取它并获取凭证。 |
![]() |
5
0
|
![]() |
6
0
这样做很容易。我不知道为什么人们会给出复杂的答案。 双击SSIS包。然后转到连接管理器,选择destinationconnectionoldb,然后在登录字段旁边添加密码。
例子:
对sourceConnectionOldB执行相同操作。 |
![]() |
7
0
这件事也发生在我身上,并以以下方式解决了: 创建了基于表达式的连接字符串,并将密码保存在变量中并使用它。 |
![]() |
8
0
这里有一个更简单的选择,当我遇到这个的时候它会起作用。 创建连接后,选择连接并打开属性。在“表达式”类别中查找密码。重新输入密码并按Enter。它现在将保存到连接。 |