2009-08-13 87 views
24

以前は、SQL Server認証接続を持つdtsを使用していました。基本的に、ユーザーIDパスワードはパッケージ自体に保存されます。 SSISに行くと、パスワードはパッケージに格納されません。私がこの問題をGoogleに語ったとき、私はこれを見た。 http://social.msdn.microsoft.com/Forums/en-US/sqlintegrationservices/thread/c720e694-2f58-483a-9cd7-3feb7de2db7b しかし、誰も良い解決策を与えているようです。あなたの誰かが助けてくれますか?この記事へのポイントに答える事前SSIS接続マネージャにSQLパスワードが保存されていません

+0

私は窓の認証のために行く必要があると思います...ありがとうすべて – OpenSource

答えて

24

で ありがとう:ここhttp://support.microsoft.com/kb/918760

は、提案されたソリューションです - あなたはそれらを評価しましたか?

  • 方法1:SQL Serverエージェントプロキシアカウントを作成

SQL Serverエージェントプロキシアカウントを使用してください。このプロキシアカウントは、SQL Serverエージェントがパッケージを作成したアカウントまたは必要なアクセス許可を持つアカウントとしてジョブを実行できるようにする資格情報を使用する必要があります。

このメソッドは、秘密を復号化するために機能し、ユーザーのキー要件を満たします。ただし、SSISパッケージのユーザーキーには現在のユーザーと現在のコンピュータが関係するため、この方法の成功は限られています。したがって、パッケージを別のコンピュータに移動すると、ジョブステップで正しいプロキシアカウントが使用されていても、この方法が失敗することがあります。 先頭へ戻る

  • 方法2:設定してSSISパッケージProtectionLevelプロパティServerStorage

変更ServerStorageにSSISパッケージProtectionLevelプロパティ。この設定では、パッケージがSQL Serverデータベースに格納され、SQL Serverのデータベースロールを通じてアクセス制御が可能になります。 先頭へ戻る

  • 方法3:EncryptSensitiveWithPasswordにSSISパッケージProtectionLevelプロパティの変更

EncryptSensitiveWithPasswordにSSISパッケージProtectionLevelプロパティを設定します。この設定では、暗号化にパスワードを使用します。このパスワードを含めるように、SQL Serverエージェントのジョブステップコマンドラインを変更することができます。

  • 方法4:使用してSSISパッケージの構成ファイル

使用SSISパッケージの構成ファイルには、機密情報を保存して、セキュリティで保護されたフォルダ内のこれらの設定ファイルを格納します。 ProtectionLevelプロパティをDontSaveSensitiveに変更して、パッケージが暗号化されておらず、秘密をパッケージに保存しないようにすることができます。 SSISパッケージを実行すると、必要な情報が構成ファイルから読み込まれます。重要な情報が含まれている場合は、構成ファイルが適切に保護されていることを確認してください。

  • 方法5:デフォルトの設定と異なって保護レベルを使用するパッケージテンプレートを作成し、長期的な解決のためにパッケージテンプレート

を作成します。この問題は、今後のパッケージでは発生しません。

+0

私はそのリンクを見ました - それはこの特定の問題に対処しません。私の問題は以前はDTS接続であったため、パッケージ内にユーザーID /パスワードを格納することはできますが、SSISでは明らかにできません。このリンクは、SQLエージェントのジョブからパッケージを実行することについて話しています。 – OpenSource

+1

DTSをNTLMを使用するように設定し、プロキシアカウントから通過させることができます。 – Sam

+0

そのオプションが存在するかどうかはわかりません。 – Sam

6

SSISで設計された動作は、パッケージにパスワードを格納しないようにすることです。悪い習慣であるか安全でないためです。

代わりに、パッケージや設定ファイルに秘密を保存しないようにWindows認証を使用するか、環境内で実際には不可能な場合(Windowsドメインがないなど)、 http://support.microsoft.com/kb/918760に記載されている回避策(サムが正しく、その記事を読んでください)。一番簡単な答えは、パッケージに付属する設定ファイルですが、設定ファイルが安全に保存されていることを心配する必要があります。

8

変数を使用して接続文字列全体を格納し、ConnectionString式に渡します。これにより、接続のすべての設定が上書きされ、パスワードの保存が許可されます。

0

、プロジェクト内のコンフィギュレーション・ファイルをチェックがIDとパスワードを設定し、あなたがパッケージに

12

を実行するようにするには、プロパティに行くとパスワードを追加することにより、構成文字列でパスワードを保存することができます=あなたのパスワードが、非常にしてください重要なのは、 'password'の前にスペースを入れ、 ';'の後ろにスペースを入れてください。下図のように:

Data Source=50.21.65.225;User ID=vc_ssis; [email protected]; Initial Catalog=Sales; Provider=SQLNCLI10.1; Persist Security Info=True;Auto Translate=False; Application Name=SSIS-PKG_CustomerData-{2A666833-6095-4486-C04F-350CBCA5C49E}IDM11.Sales.dev;

ホープこれは --Vijay K

+0

この回答は私を助けました。 – Kalim

+0

私を助けました。プロダクトのための最良のオプションではないかもしれませんが、テストのために動作します –

+0

余分なスペースが重要であると私は特に何かを信じることができません。そして、私はそれを信じることができるほど長くコーディングしてきました。ありがとう! – hurleystylee

0

これを行う簡単な方法があるのに役立ちます。なぜ人々が複雑な答えを出すのか分かりません。

SSISパッケージをダブルクリックします。その後、接続マネージャーに行き、DestinationConnectionOLDBを選択し、ログインフィールドの横にパスワードを追加します。

例:Data Source=SysproDB1;User ID=test;password=test;Initial Catalog=ASBuiltDW;Provider=SQLNCLI11;Auto Translate=false;

はSourceConnectionOLDBのために同じことを行います。

関連する問題