我有一个具有保护级别的SSIS包- EncryptSensitiveWithPassword,我可以在投标中执行这个包。
当尝试使用包部署向导部署到文件系统时,我会收到错误
包的保护级别需要密码,但包密码属性为空。
我应该在哪里设置这个密码?(在designer中的投标中,我设置了这个密码,并且在尝试打开项目时,它甚至要求我输入密码),那么对于部署,还有其他属性要设置吗?
发布于 2013-10-08 20:01:02
此错误通常是由于配置中的属性PackagePassword为空而导致的。请检查它,如果它没有设置,设置它。
在使用密码打开包后,还将保护级别更改为DontSaveSensitive。然后将包添加到解决方案中,一旦完成,将保护级别设置为SaveSensitiveWithPassword。
尝试使用以下设置部署包。
参考资料:保护SSIS包的安全
发布于 2013-10-09 00:38:24
根据user2339071的回答,如果连接中没有任何密码(即使用windows受信任的安全性),那么实际上不需要密码。
但是假设你知道..。(也许你可以在最初的问题中对此进行归纳):
我的理解是,包密码基本上是在运行时指定的,而不是部署时指定的。
当您的DTSX文件存在于文件系统中(在部署它或在那里直接复制它之后),那么您需要以某种方式执行它,这就是您指定包密码的地方。
例如,如果使用SQL代理运行包,则会在作业中找到输入该包密码的字段。如果您直接使用DTEXEC.EXE,您的包密码也有一个开关。
就我个人而言,我不使用包部署向导,我只是将DTSX文件复制到目标文件位置。
发布于 2014-12-05 04:59:26
使用类似以下示例之一的命令设置或更改包的保护级别:
以下命令将文件系统中单个包的ProtectionLevel属性设置为2级,“用密码加密敏感”,使用密码“强密码”:
dtutil.exe /file "C:\Package.dtsx“/encrypt文件;C:\Package.dtsx;2;强密码
以下命令将文件系统中特定文件夹中所有包的ProtectionLevel属性设置为2级,“用密码加密敏感”,并使用密码“强密码”:
对于%f在(*.dtsx)中执行dtutil.exe /file %f /encrypt文件;%f;2;强密码
如果在批处理文件中使用类似的命令,请在批处理文件中输入文件占位符"%f“作为”%f“。
https://stackoverflow.com/questions/19256507
复制相似问题