web-dev-qa-db-ja.com

特定の時間を除き、毎日、毎分1回ジョブを実行する

現在、毎分、毎日実行されるSQL Server 2012エージェントジョブがあります。

土曜日の午後7時から午後11時30分までを除き、毎分、毎日実行されるように変更したいと思います。これはジョブスケジューラで可能ですか?

私は毎日の頻度を使用してみましたが、そのように1日ごとに時間を変更できますが、特定の日は変更できません。

現在のスケジュール:

enter image description here

1
Mansfield

私はあなたがその正確なスケジュールを得るためにその単一の仕事で働くことができるとは思いません。実行したくない期間、ジョブを無効/有効にする別のジョブを用意することを検討してください。別の解決策は、既存のジョブに別の条件付きロジックを追加し、現在の曜日と現在の時刻を確認し、ジョブのロジックを実行するかどうかを決定することです。

ここにいくつかの代替案がありますが、比較的複雑なスケジュールでクリエイティブになる必要があると思います。

7
Thomas Stringer

このジョブなどを無効にする別のジョブを作成する手間を避けてください。物事をシンプルに保つには:

End current schedule on Saturday 6:59:00 PM.
Create another schedule with same frequency starting on Saturday 11:00:00 PM.

この質問を確認する別の方法は次のとおりです。

How do I maintain the same frequency expect between x & y. 

これは一般的な状況であり、これの背後にある必要性は、計画されたメンテナンスのために正当化されます。 MSがより堅牢なスケジュールを実装することを望みます。

1
user3154761

毎週3つのジョブを作成する必要があります。1つは毎週日曜から金曜の午前12時から午後11時59分に設定し、別の2つは毎週土​​曜日にのみ実行するように設定する必要があります。

0
James Trachier