以前は、SQLサーバー認証接続を持つdtsがありました。基本的に、ユーザーIDパスワードはパッケージ自体に保存されます。これで、SSISにアクセスしても、パスワードがパッケージに保存されません。私は問題をグーグルで見たときにこれを見た。 http://social.msdn.Microsoft.com/Forums/en-US/sqlintegrationservices/thread/c720e694-2f58-483a-9cd7-3feb7de2db7b しかし、誰も適切な解像度を与えていないようです。あなたの誰かが助けてくれますか?前もって感謝します
その答えはこの記事を指します: http://support.Microsoft.com/kb/91876
ここに提案されたソリューションがあります-それらを評価しましたか?
SQL Serverエージェントプロキシアカウントを作成します。このプロキシアカウントは、SQL Serverエージェントがパッケージを作成したアカウントまたは必要なアクセス許可を持つアカウントとしてジョブを実行できるようにする資格情報を使用する必要があります。
この方法は、シークレットを復号化し、ユーザーによるキー要件を満たします。ただし、SSISパッケージのユーザーキーには現在のユーザーと現在のコンピューターが関係するため、この方法では成功が制限される場合があります。したがって、パッケージを別のコンピューターに移動すると、ジョブステップで正しいプロキシアカウントが使用されている場合でも、この方法は失敗する可能性があります。先頭に戻る
SSISパッケージのProtectionLevelプロパティをServerStorageに変更します。この設定は、パッケージをSQL Serverデータベースに格納し、SQL Serverデータベースロールを介したアクセス制御を許可します。先頭に戻る
SSISパッケージのProtectionLevelプロパティをEncryptSensitiveWithPasswordに変更します。この設定では、暗号化にパスワードが使用されます。その後、SQL Serverエージェントジョブステップのコマンドラインを変更して、このパスワードを含めることができます。
SSISパッケージ構成ファイルを使用して機密情報を保存し、これらの構成ファイルをセキュリティで保護されたフォルダーに保存します。その後、ProtectionLevelプロパティをDontSaveSensitiveに変更して、パッケージが暗号化されず、秘密をパッケージに保存しないようにすることができます。 SSISパッケージを実行すると、必要な情報が構成ファイルから読み込まれます。構成ファイルに機密情報が含まれている場合は、構成ファイルが適切に保護されていることを確認してください。
長期的な解決策として、デフォルト設定とは異なる保護レベルを使用するパッケージテンプレートを作成します。この問題は将来のパッケージでは発生しません。
プロパティに移動してpassword = yourpasswordを追加することで、構成文字列にパスワードを保存できますが、次のように「password」Wordの前と「;」の後にスペースを入れることが非常に重要です:
Data Source=50.21.65.225;User ID=vc_ssis; password=D@mc317Feo; 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
変数を使用して接続文字列全体を保存し、それをConnectionString式に渡します。これにより、接続のすべての設定が上書きされ、パスワードを保存できます。
SSISで設計された動作は、パッケージにパスワードを保存することを防ぐことです。これは、それが悪い習慣であるため、安全ではないためです。
代わりに、Windows認証を使用して、パッケージまたは構成ファイルにシークレットを保存しないようにするか、環境でそれが本当に不可能な場合(たとえば、Windowsドメインがない場合など)、 http://support.Microsoft.com/kb/91876 (Samの正しい、その記事の続きを読んでください)。最も簡単な答えは、パッケージに付属する構成ファイルですが、構成ファイルが安全に保存されているため、誰かがそれを読み取って資格情報を取得できないようにする必要があります。
接続文字列とパスワードを変数に保存して、式を使用して接続文字列に変数を割り当ててみてください。私も同じ問題に直面し、disのように解決しました。
私にも同じことが起こり、次のように修正されました。
式ベースの接続文字列を作成し、パスワードを変数に保存して使用しました。
パッケージを実行できるように、プロジェクトの構成ファイルを確認し、そこにIDとパスワードを設定してください