症状
请考虑以下情况:
-
你有 Microsoft SQL Server Integration Services (SSIS)2012或 SQL Server Integration Services (SSIS)2014项目。
-
将 SSIS 包的 ProtectionLevel 属性设置为 EncryptSensitiveWithPassword。
-
为项目创建 SQL 管理对象(SMO)连接管理器。
-
为连接管理器设置用户帐户和密码。
-
运行 SSIS 项目。
在这种情况下,你会收到以下错误消息:
DtsException:在项目清单中缺少密码的 "Salt" 属性。 在 XMLSerializationHelper (xmlnode) DecryptByPassword (XmlNode xmlNode,字符串密码)的 DecryptXmlNode (xmlnode xmlNode、DTSProtectionLevel protectionLevel、String projectPassword、IDecryptionFailureHandler decryptionFailureHandler)在((XmlNode))中。 ConnectionManagerItem。 LoadInternal (Stream stream,IDTSEvents 事件),在 ConnectionManagerItem ()的(IDTSEvents 事件、流流)的(-(ConnectionManagerItem 存储)处的(事件、流流)处的(事件、流流)。 EnumerateSharedConnectionProperties (SaveManifest 存储)的 Microsoft.SqlServer.Dts.Runtime.ConnectionManagerItem.get_ConnectionManagerSaveTo (IProjectStorage 存储)。在 DataTransformationServices (IncrementalBuildThroughObj IOutputWindow)的(outputWindow DataTransformationServices)中,在(DataTransformationsProjectBuilder BuildIncremental)上保存(IOutputWindow outputWindow)中的(),。
注意 仅当在托管代码中使用连接管理器时,才会出现问题。
解决方案
在 SQL Server 的以下累积更新中,此问题首先已修复。
SQL Server 2014 的累积更新1 /en-us/help/2931693
SQL Server 2012 SP1 的累积更新8 /en-us/help/2917531
SQL Server 的每个新的累积更新均包含以前的累积更新中包含的所有修补程序和所有安全修补程序。 查看 SQL Server 的最新累积更新:
状态
Microsoft 已确认这是在“适用范围”部分中列出的 Microsoft 产品存在的问题。