システム開発 備忘録







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




Copyright (C) 2009- station-t.com All Rights Reserved , Link Free