web-dev-qa-db-ja.com

SQL ServerジョブからSSISパッケージを実行するとログインが失敗する

SybaseデータベースからSQL Serverにデータを移行するSSISパッケージがあります。ソースデータベースへの接続は、ODBC接続を介して行われました。

自分のマシンで直接パッケージを実行すると、パッケージは正常に実行されますが、ローカルコンピューター(宛先データベースがある場所)で作成したSQL Serverジョブを介してパッケージを実行したい場合、ログイン失敗エラーが発生します。

An OLE DB record is available.  Source: "Microsoft SQL Server Native Client 10.0"  Hresult: 0x80004005  Description: "Login failed for user 'xxx\user1'.".  An OLE DB record is available.  Source: "Microsoft SQL Server Native Client 10.0"  Hresult: 0x80004005  Description: "Cannot open database "MySybaseDatabase" requested by the login.

ジョブは実際には「SQL Serverエージェントサービスアカウント」として実行されることを知っていますxxx\user1であり、ユーザーがソースデータベースにアクセスするためにODBC接続で設定されているのとは異なりますが、odbc接続ログインが優先されず、むしろ使用されている理由がわかりません。エージェントサービスアカウントよりも?

さまざまなサイトでいくつかの投稿を読んだり、プロキシの設定などについて話していましたが、それが私の問題にかなり関連しているかどうかはわかりません。

ソースデータベースへの接続はODBCを介して設定されていますが、手順が失敗したため、SQLにSQL Serverアジェントユーザーではなく必要なuserIdを使用するようにuserIdとパスワードを追加しましたが、役に立ちませんでした。 enter image description here このログインの問題をどのように修正できるかご存知ですか?

ありがとうございました。

6
Sky

SSISパッケージを使用してExcelファイルからデータをインポートするときに、同様の問題が発生しました。私は このチュートリアル を見つけ、問題を解決しました。

[〜#〜]編集[〜#〜]:重要な手順:
1-SSISパッケージをファイルシステムに保存するときに、「パッケージ保護レベル」を選択して「Do機密データを保存しない」。

次に、次の手順に従います。
1-Visual StudioでSSISパッケージを開きます
2-[〜#〜] ssis [〜#〜]->Package Configurationsを選択します/
3-Package Configurations OrganizerAddをクリックします
4-開いたウィンドウでNextをクリックします
5-構成タイプをXML構成ファイルに設定します
6-設定ファイル名をクリックし、参照をクリックして、目的のフォルダを選択します設定ファイルを保存するには、このファイルの名前を選択してから、Saveを押します。
7-ここで完了したら、次へをクリックします
8-適切なconnection managerを選択し、+記号をクリックして展開します。次に、Propertiesを展開し、Passwordに対応するチェックボックスをオンにします。次にNextをクリックします。
9-構成ファイルの名前を選択し、Finishをクリックします。

次のXML構成ファイルは、以前に指定した場所に作成されます(ここでは例としてチュートリアルのコードを使用しています)。

<?xml version="1.0"?>

<DTSConfiguration>

      <DTSConfigurationHeading>

            <DTSConfigurationFileInfo GeneratedBy="Domain\UserName" GeneratedFromPackageName="Package" GeneratedFromPackageID="{77FB98FB-E1AF-48D9-8A43-9FD6B1790837}" GeneratedDate="22-12-2009 16:12:59"/>

      </DTSConfigurationHeading>

      <Configuration ConfiguredType="Property" Path="\Package.Connections[runeet2k8.sa].Properties[Password]" ValueType="String">

                  <ConfiguredValue></ConfiguredValue>

      </Configuration>

</DTSConfiguration>

ここで行う必要があるのは、XMLファイルを編集してこれを変更することだけです。
<ConfiguredValue></ConfiguredValue>
これに:
<ConfiguredValue>YourPasswordGoesHere</ConfiguredValue>

次に、パッケージを保存します。

SQLジョブを作成するときは、タブConfigurationsでジョブに設定ファイルを追加することを忘れないでください。

6
m-oliv