次の方法で共有


SQL Server Integration Services パッケージを実行しようとすると、"読み込み中にエラー" というエラー メッセージが表示される

この記事は、SSIS がパッケージに格納されているパスワードを復号化できない場合に発生するパッケージの読み込みエラーを解決するのに役立ちます。

元の製品バージョン: SQL Server
元の KB 番号: 904800

現象

Microsoft SQL Server では、Microsoft SQL Server Business Intelligence Studio 内から、または SQL Server パッケージ実行ユーティリティ (Dtexec.exe) コマンド ライン ツールを使用して SQL Server Integration Services (SSIS) パッケージを実行しようとすると、次のエラー メッセージが表示されます。

PackageNameの読み込み中にエラーが発生しました:保護された XML ノード "PackagePassword" の暗号化を解除できませんでした。エラー 0x8009000B "指定した状態で使用できません。
この情報にアクセスする権限がない可能性があります。 このエラーは、暗号化エラーが発生した場合に発生します。 正しいキーが使用可能であることを確認してください。

Note

PackageName プレースホルダーは、実行しようとしている SSIS パッケージの名前のプレースホルダーです。

この動作は、SSIS パッケージの作成に使用されたコンピューターやユーザー アカウントとは異なるコンピューターまたは別のユーザー アカウントを使用して SSIS パッケージを実行しようとすると発生します。

原因

この動作は、SSIS パッケージ内の ProtectionLevel プロパティの値が、SSIS パッケージ内の Password プロパティの保護の最大量を提供するように設定されている場合に発生します。 既定では、 ProtectionLevel プロパティの値は EncryptSensitiveWithUserKey に設定されます。 EncryptSensitiveWithUserKey 値は、機密性の高いと見なされる SSIS パッケージのすべてのプロパティ (Password プロパティなど) を暗号化します。 SSIS パッケージの実行に使用されたのと同じユーザー アカウントと同じコンピューターが SSIS パッケージの実行に使用されている場合、SSIS パッケージは自動的に復号化され、エラー メッセージは生成されません。 ただし、別のユーザー アカウントまたは別のコンピューターを使用して SSIS パッケージを実行すると、ProtectionLevel プロパティの EncryptSensitiveWithUserKey 値がエンゲージされ、SSIS パッケージの Password プロパティは暗号化されたままになります。 これが発生すると、エラー メッセージが生成されます。

解決方法

この動作を解決するには、SSIS パッケージの ProtectionLevel プロパティの値を変更します。

詳細

詳細については、SQL Server オンライン ブックの次のトピックを参照してください。

  • Integration Services のセキュリティに関する考慮事項
  • パッケージの保護レベルの設定

関連情報

同様の問題の詳細については、「SQL Server エージェント ジョブ ステップから呼び出されたときに SSIS パッケージが実行されないを参照してください。