当我在SQL Server Business Intelligence Development Studio中创建新的SSIS包时,默认的ProtectionLevel为EncryptSensitiveWithUserKey
,但我们要使用的标准ProtectionLevel为DontSaveSensitive
。
有没有人知道是否有办法更改默认的ProtectionLevel值?
答案 0 :(得分:11)
SSIS 2012允许项目级别设置包保护级别。
如果我手动将程序包保护级别更改为与项目不同的程序,则在尝试运行/构建时会失败。
Project consistency check failed. The following inconsistencies were detected: Package3.dtsx has a different ProtectionLevel than the project.
我发现最好的方法是在项目或实际的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一起使用的每个保护级别的编号: