3

我有一个具有保护级别的 SSIS 包 - EncryptSensitiveWithPassword,我可以在 BIDS 中执行这个包。

尝试使用包部署向导部署到文件系统时,我收到错误

包的保护级别需要密码但包密码属性为空

我应该在哪里设置这个密码?(在设计器的 BIDS 中,我设置了此密码,并且在尝试打开项目时它甚至要求我输入密码)那么对于部署是否还有另一个属性要设置?

4

4 回答 4

3

此错误通常是由于PackagePassword您的配置中的属性为空而引起的。请检查它,如果未设置,请设置它

还要使用密码将保护级别更改为DontSaveSensitive打开包装后。然后将包添加到您的解决方案中,完成后,将保护级别设置为SaveSensitiveWithPassword.

尝试使用这些设置部署您的包。

参考:保护您的 SSIS 包

于 2013-10-08T20:01:02.723 回答
1

根据 user2339071 的回答,如果您的连接中没有任何密码(即您使用 Windows 受信任的安全性),那么您实际上不需要密码。

但是,假设你这样做......(也许你可以在原始问题中进行调整):

我的理解是包密码基本上是在运行时指定的,而不是部署时指定的。

当您的 DTSX 文件存在于文件系统中时(在部署它或直接复制它之后),那么您需要以某种方式执行它,这就是您指定包密码的地方。

例如,如果您使用 SQL 代理来运行您的程序包,您将在作业中找到一个字段来输入该程序包密码。如果您直接使用 DTEXEC.EXE,那里还有一个用于您的软件包密码的开关。

我个人不使用包部署向导,我只是将 DTSX 文件复制到目标文件位置。

于 2013-10-09T00:38:24.403 回答
0

使用类似于以下示例之一的命令设置或更改包的保护级别:

以下命令将文件系统中单个包的 ProtectionLevel 属性设置为级别 2,“使用密码加密敏感”,密码为“strongpassword”:

dtutil.exe /file "C:\Package.dtsx" /加密文件;"C:\Package.dtsx";2;strongpassword

以下命令将文件系统中特定文件夹中所有包的 ProtectionLevel 属性设置为级别 2,“使用密码加密敏感”,密码为“strongpassword”:

for %f in (*.dtsx) do dtutil.exe /file %f /encrypt file;%f;2;strongpassword

如果您在批处理文件中使用类似的命令,请在批处理文件中输入文件占位符“%f”作为“%%f”。

于 2014-12-05T04:59:26.260 回答
0

您还可以通过进入“包资源管理器”轻松设置包密码,然后右键单击包进入属性并在那里设置保护级别。

在此处输入图像描述

于 2018-08-06T13:54:59.247 回答