Microsoft SQL Server Integration Services (SSIS)
パスワードを構成ファイルに保存する
「エラー 0x8009000B "指定された状態で使用するには無効なキーです。" により、保護された XML ノード "DTS:Password" の暗号化を解除できませんでした。この情報にアクセスする権限がない可能性があります。このエラーは、暗号化エラーが発生した場合に発生します。正しいキーが使用可能であることを確認してください。」
SSISの実行ユーザーが元のパッケージの作成者と異なるときに、デフォルトの設定では上記エラーとなる。
これは、実行ユーザーアカウントがパッケージ内のDB接続パスワードの暗号化を解除できないためである。
これを回避するためにはいくつかの方法があるが、ここではパスワードをパッケージと一緒には保存せず、パッケージ構成ファイルに保存する方法を記述する。
プロパティの変更
・パッケージの「ProtectionLevel」プロパティを「DontSaveSensitive」にする。
構成ファイルの作成
・「メニューバー」→「SSIS」→「パッケージ構成」(またはdtsxのデザイナを右クリックして「パッケージ構成」)でパッケージ構成オーガナイザを開く
・「パッケージの構成を有効にする」にチェックが入っていることを確認する
・「追加」でパッケージ構成ウィザードを開く
・「次へ」をクリック
・構成の種類はXMLを選択
・「構成設定を直接指定する」を選択。
構成ファイル名は自由に設定する。パスを記述しない場合は、DTSXと同じフォルダのファイルを参照することになる
・「次へ」をクリック
・オブジェクト階層で、「接続マネージャ」の接続を展開して、「Propaties」の「Password」にチェックを入れる
・「次へ」をクリック
・「完了」をクリック
・パッケージ構成オーガナイザを閉じる
構成ファイルの編集
・作成した構成ファイルをエディタで開く。
・タグに、パスワードを直接記述して保存する
以上。
この設定で、DB接続パスワードは、XMLファイル(dtsConfigファイル)から読み取られるようになる。
当然、XMLファイルは中身が丸見えになるので、このファイルの設置場所には、十分なフォルダセキュリティが必要である。
これ以外の対応方法は、こちら↓
http://msdn.microsoft.com/ja-jp/library/dd440760.aspx
|