KB2899939 - FIX: Error messages when you create a project level SMO connection manager together with a password for an SSIS 2012 or SSIS 2014 project

Applies To
SQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Standard SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use)

Symptoms

Consider the following scenario:

  • You have a Microsoft SQL Server Integration Services (SSIS) 2012 or SQL Server Integration Services (SSIS) 2014 project.
  • You set the ProtectionLevel property of the SSIS packages to EncryptSensitiveWithPassword.
  • You create a SQL Management Object (SMO) connection manager for the project.
  • You set a user account and a password for the connection manager.
  • You run the SSIS project.

In this scenario, you receive the following error messages:

Note

Microsoft.SqlServer.Dts.Runtime.DtsException: 'Salt' attribute for PassWord is missing in the project manifest.
at Microsoft.SqlServer.Dts.Runtime.XMLSerializationHelper.DecryptByPassword(XmlNode xmlNode, String password)
at Microsoft.SqlServer.Dts.Runtime.Project.DecryptXmlNode(XmlNode xmlNode, DTSProtectionLevel protectionLevel, String projectPassword, IDecryptionFailureHandler decryptionFailureHandler)
at Microsoft.SqlServer.Dts.Runtime.ConnectionManagerItem.LoadInternal(Stream stream, IDTSEvents events)
at Microsoft.SqlServer.Dts.Runtime.ConnectionManagerItem.Load(IDTSEvents events, Stream stream)
at Microsoft.SqlServer.Dts.Runtime.ConnectionManagerItem.Load()
at Microsoft.SqlServer.Dts.Runtime.ConnectionManagerItem.get_ConnectionManager()
at Microsoft.SqlServer.Dts.Runtime.Project.EnumerateSharedConnectionProperties()
at Microsoft.SqlServer.Dts.Runtime.Project.SaveManifest(IProjectStorage storage)
at Microsoft.SqlServer.Dts.Runtime.Project.SaveTo(IProjectStorage storage)
at Microsoft.SqlServer.Dts.Runtime.Project.Save()
at Microsoft.DataTransformationServices.Project.DataTransformationsProjectBuilder.IncrementalBuildThroughObj(IOutputWindow outputWindow)
at Microsoft.DataTransformationServices.Project.DataTransformationsProjectBuilder.BuildIncremental(IOutputWindow outputWindow)

Note The issue only occurs when you are working with connection managers in managed code.

Resolution

The issue was first fixed in the following cumulative update of SQL Server.

Cumulative Update 1 for SQL Server 2014 /en-us/help/2931693

Cumulative Update 8 for SQL Server 2012 SP1 /en-us/help/2917531

About cumulative updates for SQL Server

Each new cumulative update for SQL Server contains all the hotfixes and all the security fixes that were included with the previous cumulative update. Check out the latest cumulative updates for SQL Server:

      

Status

Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.