2009-07-29 22 views
2

SQL Server 2005にオペレーティングシステム(CmdExec)のステップを持つジョブセットアップがあります。SQL Server 2005のジョブCmdExecタイムアウトを設定する方法

ステップは、実行に時間がかかるプログラムを呼び出します。プログラムが1分40秒以上応答するのに時間がかかる場合、ステップが失敗し、「操作がタイムアウトしました」というメッセージが表示されます。プログラムは実際に実行し続け、望ましい結果を生成します。

このジョブのステップのタイムアウト時間はどのように設定できますか。あるいは、ジョブ内の唯一のステップなので、ジョブ全体のタイムアウトを設定する方法があると便利です。他のすべてがうまくいかない場合、明らかにこれが最後の手段になるだろうが、サーバー全体のタイムアウトを変更するつもりである。

ステップ、ジョブ、およびSQL Serverエージェントのプロパティを調べてみましたが、このオプションを設定する場所を見つけることができませんでした。

答えて

2

SQLジョブにはタイムアウトがありません。実行時間が長すぎる場合や特定の時点に達した場合、SQLジョブには停止するように構成することはできません。可能であれば、私は多くの開発時間を節約できました!時間や期間をチェックするようにステップを構成したり、ステップで実行されたアクションをコード化して時間をチェックしたりすることができます。

これは興味深い質問です。なぜタイムアウトになっていますか?あなたが言ったことに基づいて、私は、SQL Agentが、あなたがcmdexecの手順で送信している "これを行う"コマンドをOSが受け取ったことを伝えることができないと推測します。送信して待機した後、ジョブは決して開始されず、それに応じて報告されると考えられます(システムにはタイムアウトがあります)。これはどうですか?あなたはセキュリティ設定やファイルアクセス権を投資することができますが、私はあなたが起動しているルーチンを見直すことから始めます。

+0

お返事ありがとうございます。呼び出されるプログラムは、Webサービスを呼び出すためのプロキシです。私は他の仕事のためにそれを稼働させていますが、うまく働いていますが、それらのWebサービスは実行に時間がかかりません。 – YonahW

1

ウェブサービスがあなたの答えです。 Phillip氏が指摘しているように、SQL Serverジョブのステップには時間切れがありません。

質問する必要があるかもしれない質問は、Webサービスがタイムアウトする理由です。私の経験上、この問題は、リクエストが長すぎて結果が長すぎたり、ウェブサービスが長く実行されたりする原因となることがあります。

それ以外の場合は、Webサービスプロバイダに問い合わせてタイムアウトを延長する必要があります。

+0

Webサービスは実際には長時間実行されますが、直接アクセスするとタイムアウトにならず、時間がかかります。 – YonahW

関連する問題