2017-11-24 5 views
0

enter image description here SQL Serverエージェントによってスケジュールされたプロジェクトが実行されている。それは複数のパッケージを含んでいます。パッケージの1つに、私のapiを紺色に配置して呼び出すスクリプトタスクが含まれています。このプロセス全体が仮想マシン上で実行されます。SQLエージェントから実行するとSSISスクリプトタスクが失敗する個別に実行すると正常に動作する

このプロセスはスケジュールに従ってエージェントから実行されるたびに、スクリーンショットに示すようにエラー(例外は呼び出しのターゲットメソッドによってスローされました)がスローされます。しかし、私がVSで手動でそのプロセスを実行するとうまくいきます(また、ISカタログから特定のパッケージを実行するとうまくいきます)。私は、私のAPIの最後のステートメントにログを記録しようとしました。それは正常に働いた。それは何の問題もなく最後の声明まで実行した。

私はSSIS Script Task Fails when run from SQL Agentのような多くのリンクを通過しましたが、解決策には達しませんでした。

誰かが私を助けることができますか?前もって感謝します。

+0

スクリーンショットはありません。それに...あなたの質問にエラーテキストを入れて検索可能にしてください。それ以外にも、SSISログで詳細を確認してください。 –

+0

@ Nick.McDermaidスクリーンショットとエラーテキストを追加しました。 – Pavvy

+0

一時的にSQL Agentのサービスアカウントをローカル管理者に変更し、問題が解決するかどうかを確認します。それが問題を解決すれば、セキュリティ問題がどこにあるかを絞り込んで解決する必要があります。たとえば、実行するためにスクリプトタスクに 'C:\ WINDOWS \ TEMP'への書き込みアクセスが必要です –

答えて

0

問題の理解に長時間を費やした後、私は自分自身の問題の解決策に達しました。 SSISでのスクリプトタスクの使用にはいくつかの制限があります。私が呼び出すAPIは、非同期スレッドの実行を終了するためにスクリプトタスクをプッシュするには時間がかかります。その後、失敗したステータスを戻していました。 (この問題はデバッグモードでは発生していませんでした) HttpClientConnectionを使用してsyncメソッドを使用しようとしましたが、主な制限はタイムアウト制限です。すべての通話に最大5分を設定できます。

最後に、このAPIを複数のタスクに分割して、問題を解決したタイムアウトを削除しました。ありがとう。

関連する問題