私たちが抱えている問題にちょっとしたことがあったので、シナリオ、問題、私たちが試したことを説明するために最善を尽くしましょう。SQLサーバージョブを再起動するにはどうしたらいいですか?
- 我々は最後に上の追加日付でタグ付けされた特定のファイルにロギングしているSQLの仕事をしている
- 最初のステップは、私たちのログファイルは、例えば何であるかをチェックしますlog_01012012.log。これが間違っていると、sysjobstepsテーブルを更新して、すべてのステップの新しいファイルの場所(log_02012012.logなど)を取得しました。最初のジョブステップでストアドプロシージャを呼び出すことでこれを行います。
- これはテーブル内で更新されますが、残りのステップは古いログを使用し続けます。これは、このテーブルがジョブの開始時に一度しか読み込まれないためです。
私たちは、次のコードを使用してストアドプロシージャ内の仕事を再開しようとしている:それは私が推測するストアドプロシージャを(殺すよう私たちは仕事を殺すときしかし、それが表示されます
EXEC msdb.dbo.sp_stop_job @job_name = 'My Job'
waitfor delay '00:00:15'
EXEC msdb.dbo.sp_start_job @job_name = 'My Job'
仕事の子供)、それは決してその仕事を再開するためのステップに達することを意味しません。
ジョブを再起動してsysjobstepsテーブルを再度参照し、ログの正しい場所を使用する方法はありますか?問題は、いくつかの点で仕事をリフレッシュすることができることジョブ自体
- だろう解決するかもしれません
物事。
私が明確にする必要があるものはすべて最善を尽くしますが、現在固まっており、すべての入力は非常に高く評価されます!
こんにちはRhianでは、定期的なスケジュールでジョブを実行する必要はありません。これは条件をチェックする最初のステップで、sysjobstepsテーブルが更新された場合は残りの手順で再起動する必要があります新しい値 – purchas