如何更改SSIS中的默认包保护级别?

时间:2012-08-01 09:33:26

标签: visual-studio-2008 ssis

当我在SQL Server Business Intelligence Development Studio中创建新的SSIS包时,默认的ProtectionLevel为EncryptSensitiveWithUserKey,但我们要使用的标准ProtectionLevel为DontSaveSensitive

有没有人知道是否有办法更改默认的ProtectionLevel值?

3 个答案:

答案 0 :(得分:11)

2012年用户欢喜

SSIS 2012允许项目级别设置包保护级别。

enter image description here

如果我手动将程序包保护级别更改为与项目不同的程序,则在尝试运行/构建时会失败。

Project consistency check failed. The following inconsistencies were detected: Package3.dtsx has a different ProtectionLevel than the project.

那么2005-2008R2的灵魂是什么?

我发现最好的方法是在项目或实际的Visual Studio安装中创建模板包。

创建基本软件包,设置日志记录,配置,软件包保护级别等之后,您需要找到让人们使用它的方法。如果它是基于项目的,我发现让人们在复制包后重新生成包ID很重要。 BIDSHelper非常适合解决这个问题 - 只需右键单击解决方案资源管理器中的软件包并选择Reset GUIDs.否则,我的基础软件包中有一个注释,提醒开发人员右键单击控制流,选择属性在ID属性中,单击<Generate New ID>

如果您选择从“添加,新项目菜单”(ctrl-shift-A)建立模板,您只需将包复制到template folder

答案 1 :(得分:8)

单击SSIS设计器中“控制流”选项卡的设计区域中的任意位置以显示包属性,并根据安全性TreeView ProtectionLevel中的要求进行选择.....

答案 2 :(得分:1)

根据我的经验,更改项目的属性级别对单个包没有任何作用。但是在下一页中有一个解决方案:

http://technet.microsoft.com/en-us/library/cc879310.aspx

这是使用这样的命令..

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

在您的SSIS项目文件夹中。它会将项目中的每个模块更改为倒数第二个值中指定的保护级别。如果它是0,不存储值,那么你不需要密码,可以删除最后一个分号和之后的所有内容。

以下MSDN文章中有一个表格,其中包含与dtutil一起使用的每个保护级别的编号:

http://technet.microsoft.com/en-us/library/ms141747.aspx