症状
请考虑以下情形:
- 您有一个 Microsoft SQL Server Integration Services (SSIS) 2012 或 SQL Server Integration Services (SSIS) 2014 项目。
- 您将 SSIS 包的 ProtectionLevel 属性设置为 EncryptSensitiveWithPassword。
- 为项目创建 SQL 管理对象 (SMO) 连接管理器。
- 您为连接管理器设置用户帐户和密码。
- 您运行 SSIS 项目。
在这种情况下,你会收到以下错误消息:
注意
Microsoft.SqlServer.Dts.Runtime.DtsException:项目清单中缺少 PassWord 的“盐”属性。
在 Microsoft.SqlServer.Dts.Runtime.XMLSerializationHelper.DecryptByPassword (XmlNode xmlNode,字符串密码)
在 Microsoft.SqlServer.Dts.Runtime.Project.DecryptXmlNode (XmlNode xmlNode、DTSProtectionLevel protectionLevel、String projectPassword、IDecryptionFailureHandler decryptionFailureHandler)
在 Microsoft.SqlServer.Dts.Runtime.ConnectionManagerItem.LoadInternal (Stream 流中,IDTSEvents 事件)
在 Microsoft.SqlServer.Dts.Runtime.ConnectionManagerItem.Load (IDTSEvents 事件时,Stream流)
在 Microsoft.SqlServer.Dts.Runtime.ConnectionManagerItem.Load ()
在 Microsoft.SqlServer.Dts.Runtime.ConnectionManagerItem.get_ConnectionManager ()
在 Microsoft.SqlServer.Dts.Runtime.Project.EnumerateSharedConnectionProperties ()
在 Microsoft.SqlServer.Dts.Runtime.Project.SaveManifest (IProjectStorage 存储)
在 Microsoft.SqlServer.Dts.Runtime.Project.SaveTo (IProjectStorage 存储)
在 Microsoft.SqlServer.Dts.Runtime.Project.Save ()
位于 Microsoft.DataTransformationServices.Project.DataTransformationsProjectBuilder.IncrementalBuildThroughObj (IOutputWindow outputWindow)
在 Microsoft.DataTransformationServices.Project.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 的每个新累积更新都包含上一个累积更新中包含的所有修补程序和所有安全修补程序。 查看 SQL Server 的最新累积更新:
状态
Microsoft 已确认在 "适用于" 部分中所列的 Microsoft 产品中存在问题。