2017-02-02 40 views
0

SSISパッケージには、テーブル内のデータを更新するストアドプロシージャを実行するexecute sqlタスクがあります。 SSDTでパッケージを実行すると、正常に実行されますが、SQL Agentでジョブを実行すると、タスクは正常に実行されますが、テーブル内のデータは更新されません。つまり、タスクは正常に実行されますが、EXEC文は実際には実行されません。SSIS実行SQLタスクがSQLエージェント経由で実行されない

パッケージ内に先行する制約などはありません。私はこれ以外のすべてのタスクを無効にしました。これは、このパッケージを実行しているプロキシと何か関係があると思います。Integration Servicesカタログを使用してパッケージを手動で実行すると、正常に動作します。

私のエージェントジョブは、sysadminサーバーロールとして設定されたログインにマップされ、サーバー上のすべてのデータベース(デフォルトスキーマdbo)のdb_ownerロールにマップされたプロキシを介して実行されます。

私は、SQL Server 2014

思考を使用していますか?

+0

プロキシが呼び出されたかどうかを確認するためにジョブが実行されている間にプロファイラトレースを実行できますか? –

+0

プロファイラトレースを実行しましたが、私はこれに全く慣れていません.3秒の実行時間で、 "exec(my sproc)"というテキストデータを持つレコードが表示されます。私はこれがprocが実行されたことを意味するのかどうかはわかりませんが、再び更新すべきデータは更新されていません。私はまた、私のWindowsのログインを参照する別の資格でジョブを実行しようとし、sprocは正常に実行されました。 – Pops

答えて

0

問題は、私のクエリがCRMデータベースのフィルタリングされたビューに当たっていて、SSISジョブが実行されていたユーザーがCRMのユーザーとして設定されていないことでした。

関連する問題