SQLエージェントはnext_run_date / next_run_time値をいつどのように更新しますか?
msdbデータベースのsp_add_jobscheduleプロシージャを使用して、SQLエージェントジョブに新しいスケジュールを追加するために、T-SQLのコードに取り組んでいます。新しいスケジュール(通常は特定の日時に1回だけ)を追加し、すぐにsysjobschedulesとsysschedulesの値を見ると、新しいスケジュールが追加され、SQLエージェントのjob_idに関連付けられていることがわかりますジョブ。ただし、next_run_dateおよびnext_run_timeの値には0が含まれています。私が戻ってきて、2、3分後に再びそれらを見ると、彼らはまだそれらに0を示しています。ただし、さらに5分または10分後に戻ってくると、次にスケジュールされた実行に対応する日付と時刻の値が正しく表示されるようになりました。 だから私の質問は: これらの値はどのくらいの頻度で更新されますか? これらの値を更新するプロセスは何ですか? たとえば、1分後のスケジュールを追加する場合、next_run_date / timeがまだ更新されていないため、ジョブが実行されないということですか? 新しいスケジュールを追加するために使用するコードの例: exec msdb.dbo.sp_add_jobschedule @job_id = @jobID , @name = @JobName , @enabled = 1 , @freq_type = 1 , @freq_interval = 0 , @freq_subday_type = 0 , @freq_subday_interval = 0 , @freq_relative_interval = 0 , @freq_recurrence_factor = 0 , @active_start_date = @ScheduleRunDate , …