スケジュールの作成とジョブへのアタッチ

適用対象:SQL ServerAzure SQL Managed Instance

重要

現在、Azure SQL Managed Instance によって、すべてではありませんが、ほとんどの SQL Server エージェントの機能がサポートされています。 詳細については、Azure SQL Managed Instance と SQL Server の T-SQL の相違点に関するページを参照してください。

SQL Server エージェント ジョブのスケジュール設定とは、ユーザーの操作なしでジョブの実行が開始される条件を定義することです。 ジョブのスケジュールを設定して自動的に実行するには、ジョブの新しいスケジュールを作成するか、既存のスケジュールをジョブにアタッチします。

スケジュールを作成するには、次の 2 つの方法があります。

  • ジョブの作成時にスケジュールを作成する。

  • オブジェクト エクスプローラーでスケジュールを作成する。

スケジュールを作成したら、特定のジョブに対して作成した場合でも、そのスケジュールを複数のジョブにアタッチすることができます。 また、ジョブからスケジュールをデタッチすることもできます。

警告

スケジュールを更新すると、そのスケジュールにアタッチされているすべてのジョブが影響を受けます。 個々のジョブのスケジュールを制御したいときは、ジョブごとに個別のスケジュール オブジェクトを作成してください。

スケジュールは、時刻またはイベントに基づいて作成できます。 たとえば、次のタイミングで実行するようにジョブをスケジュールできます。

  • SQL Server エージェントが開始されるたびに、ジョブを実行する。

  • コンピューターの CPU 使用率がアイドルとして定義したレベルになったときに、ジョブを実行する。

  • 指定した日時に 1 回だけジョブを実行する。

  • 定期的なスケジュール。

また、ジョブ スケジュールの代わりとして、ジョブの実行によってイベントに応答する警告を作成することもできます。

Note

一度にジョブの 1 つのインスタンスだけを実行できます。 スケジュールどおりに実行されているときに、手動でジョブを実行しようとすると、 SQL Server エージェントはその要求を拒否します。

スケジュールされたジョブが実行されないようにするには、次のいずれかの操作を行う必要があります。

  • スケジュールを無効にする。

  • ジョブを無効にする。

  • ジョブからスケジュールをデタッチする。

  • SQL Server エージェント サービスを停止する。

  • スケジュールを削除する。

スケジュールが無効になっている場合でも、ジョブは警告に応答したときやユーザーが手動で実行したときに実行されます。 ジョブ スケジュールが無効になっているときは、スケジュールを使用するすべてのジョブのスケジュールが無効になります。

無効になっているスケジュールは、明示的に有効にする必要があります。 スケジュールを編集しても、スケジュールは自動的に有効になりません。

開始日のスケジュール設定

スケジュールの開始日は 19900101 以降にする必要があります。

スケジュールをジョブにアタッチする場合は、スケジュールでジョブを最初に実行する際に使用する開始日を確認する必要があります。 開始日は、スケジュールをジョブにアタッチする日時によって決まります。 たとえば、毎週月曜日の午前 8 時に実行されるスケジュールを作成します。2008 年 3 月 3 日月曜日の午前 10 時にジョブを作成する場合、スケジュールの開始日は 2008 年 3 月 17 日月曜日です。 2008 年 3 月 4 日火曜日に別のジョブを作成した場合、スケジュールの開始日は 2008 年 3 月 10 日月曜日になります。

スケジュールの開始日は、スケジュールをジョブにアタッチした後でも変更できます。

CPU アイドル スケジュール

CPU リソースを最大限に使用するために、 SQL Server エージェントに対して CPU アイドル条件を定義できます。 SQL Server エージェントは、CPU アイドル条件の設定に基づいて、ジョブの実行に最適な時期を決定します。 たとえば、CPU アイドル時と処理量の少ない時期に、インデックスを再構築するジョブをスケジュールできます。

CPU アイドル時に実行するジョブを定義する前に、通常処理時の CPU の負荷を調べてください。 CPU の負荷を調べるには、 SQL Server プロファイラー またはパフォーマンス モニターを使用して、サーバー トラフィックを監視し、統計情報を収集します。 収集した情報を参考にして、CPU アイドル時の比率および時間を設定します。

CPU アイドル条件は、特定の時間にわたり、CPU 使用率が一定の割合を下回っている状態として定義します。 次に、この時間の長さを設定します。 指定された長さの時間にわたって CPU 使用率が指定の率を下回ると、 SQL Server エージェントは、CPU アイドル時スケジュールが設定されているすべてのジョブを開始します。 SQL Server プロファイラー またはパフォーマンス モニターを使用して CPU 使用率を監視する方法については、「 CPU 使用率の監視」を参照してください。

説明 トピック
SQL Server エージェント ジョブのスケジュールを作成する方法について説明します。 Create a Schedule
SQL Server エージェント ジョブのスケジュールを設定する方法について説明します。 ジョブのスケジュール設定
使用しているサーバーの CPU アイドル状態を定義する方法について説明します。 CPU のアイドル時間と期間の設定 (SQL Server Management Studio)

参照

sp_help_jobschedule
sysjobschedules