現象
たとえば次のようなシナリオを考えてみます。
- 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 の 'salt' 属性がプロジェクト マニフェストにありません。
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)
注: この問題は、マネージド コードで接続マネージャーを使用している場合にのみ発生します。
解決策
この問題は、次の 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 製品の問題であることを確認しました。