スケジュールの作成とジョブへのアタッチCreate and Attach Schedules to Jobs

適用対象: yesSQL Server yesAzure SQL Database (Managed Instance のみ) noAzure Synapse Analytics (SQL DW) noParallel Data Warehouse APPLIES TO: yesSQL Server yesAzure SQL Database (Managed Instance only) noAzure Synapse Analytics (SQL DW) noParallel Data Warehouse

重要

Azure SQL Database Managed Instance では現在、すべてではありませんがほとんどの SQL Server エージェントの機能がサポートされています。On Azure SQL Database Managed Instance, most, but not all SQL Server Agent features are currently supported. 詳細については、「Azure SQL Database Managed Instance と SQL Server の T-SQL の相違点」を参照してください。See Azure SQL Database Managed Instance T-SQL differences from SQL Server for details.

SQL ServerSQL Server エージェント ジョブのスケジュール設定とは、ユーザーの操作なしでジョブの実行が開始される条件を定義することです。Scheduling SQL ServerSQL Server Agent jobs means defining the condition or conditions that cause the job to begin running without user interaction. ジョブのスケジュールを設定して自動的に実行するには、ジョブの新しいスケジュールを作成するか、既存のスケジュールをジョブにアタッチします。You can schedule a job to run automatically by creating a new schedule for the job, or by attaching an existing schedule to the job.

スケジュールを作成するには、次の 2 つの方法があります。There are two ways to create a schedule:

  • ジョブの作成時にスケジュールを作成する。Create the schedule while you are creating a job.

  • オブジェクト エクスプローラーでスケジュールを作成する。Create the schedule in Object Explorer.

スケジュールを作成したら、特定のジョブに対して作成した場合でも、そのスケジュールを複数のジョブにアタッチすることができます。After a schedule has been created, you can attach that schedule to multiple jobs, even if the schedule was created for a specific job. また、ジョブからスケジュールをデタッチすることもできます。You can also detach schedules from jobs.

スケジュールは、時刻またはイベントに基づいて作成できます。A schedule can be based upon time or an event. たとえば、次のタイミングで実行するようにジョブをスケジュールできます。For example, you can schedule a job to run at the following times:

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

  • コンピューターの CPU 使用率がアイドルとして定義したレベルになったときに、ジョブを実行する。Whenever CPU utilization of the computer is at a level you have defined as idle.

  • 指定した日時に 1 回だけジョブを実行する。One time, at a specific date and time.

  • スケジュールに従って定期的にジョブを実行する。On a recurring schedule.

また、ジョブ スケジュールの代わりとして、ジョブの実行によってイベントに応答する警告を作成することもできます。As an alternative to job schedules, you can also create an alert that responds to an event by running a job.

注意

一度にジョブの 1 つのインスタンスだけを実行できます。Only one instance of the job can be run at a time. スケジュールどおりに実行されているときに、手動でジョブを実行しようとすると、 SQL ServerSQL Server エージェントはその要求を拒否します。If you try to run a job manually while it is running as scheduled, SQL ServerSQL Server Agent refuses the request.

スケジュールされたジョブが実行されないようにするには、次のいずれかの操作を行う必要があります。To prevent a scheduled job from running, you must do one of the following:

  • スケジュールを無効にする。Disable the schedule.

  • ジョブを無効にする。Disable the job.

  • ジョブからスケジュールをデタッチする。Detach the schedule from the job.

  • SQL ServerSQL Server エージェント サービスを停止する。Stop the SQL ServerSQL Server Agent service.

  • スケジュールを削除する。Delete the schedule.

スケジュールが無効になっている場合でも、ジョブは警告に応答したときやユーザーが手動で実行したときに実行されます。If the schedule is not enabled, the job can still run in response to an alert or when a user runs the job manually. ジョブ スケジュールが無効になっているときは、スケジュールを使用するすべてのジョブのスケジュールが無効になります。When a job schedule is not enabled, the schedule is not enabled for any job that uses the schedule.

無効になっているスケジュールは、明示的に有効にする必要があります。You must explicitly re-enable a schedule that has been disabled. スケジュールを編集しても、スケジュールは自動的に有効になりません。Editing the schedule does not automatically re-enable the schedule.

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

スケジュールの開始日は 19900101 以降にする必要があります。The start date of a schedule must be greater than or equal to 19900101.

スケジュールをジョブにアタッチする場合は、スケジュールでジョブを最初に実行する際に使用する開始日を確認する必要があります。When you are attaching a schedule to a job, you should review the start date that the schedule uses to run the job for the first time. 開始日は、スケジュールをジョブにアタッチする日時によって決まります。The start date depends upon the day and time when you attach the schedule to the job. たとえば、隔週月曜日の午前 8 時に実行されるスケジュールを作成するとします。For example, you create a schedule that runs every other Monday at 8:00 A.M. 2008 年 3 月 3 日月曜日の午前 10 時にジョブを作成した場合、If you create a job at 10:00 A.M. スケジュールの開始日は 2008 年 3 月 17 日月曜日になります。on Monday, March 3, 2008, the schedule start date is Monday, March 17, 2008. 2008 年 3 月 4 日火曜日に別のジョブを作成した場合、スケジュールの開始日は 2008 年 3 月 10 日月曜日になります。If you create another job on Tuesday, March 4, 2008, the schedule start date is Monday, March 10, 2008.

スケジュールの開始日は、スケジュールをジョブにアタッチした後でも変更できます。You can change the schedule start date after you attach the schedule to a job.

CPU アイドル スケジュールCPU Idle Schedules

CPU リソースを最大限に使用するために、 SQL ServerSQL Server エージェントに対して CPU アイドル条件を定義できます。To maximize CPU resources, you can define a CPU idle condition for SQL ServerSQL Server Agent. SQL ServerSQL Server エージェントは、CPU アイドル条件の設定に基づいて、ジョブの実行に最適な時期を決定します。Agent uses the CPU idle condition setting to determine the best time to run jobs. たとえば、CPU アイドル時と処理量の少ない時期に、インデックスを再構築するジョブをスケジュールできます。For example, you can schedule a job to rebuild indexes during CPU idle time and slow production periods.

CPU アイドル時に実行するジョブを定義する前に、通常処理時の CPU の負荷を調べてください。Before you define jobs to run during CPU idle time, determine the load on the CPU during normal processing. CPU の負荷を調べるには、 SQL Server プロファイラーSQL Server Profiler またはパフォーマンス モニターを使用して、サーバー トラフィックを監視し、統計情報を収集します。To do this, use SQL Server プロファイラーSQL Server Profiler or Performance Monitor to monitor server traffic and collect statistics. 収集した情報を参考にして、CPU アイドル時の比率および時間を設定します。You can then use the information you gather to set the CPU idle time percentage and duration.

CPU アイドル条件は、特定の時間にわたり、CPU 使用率が一定の割合を下回っている状態として定義します。Define the CPU idle condition as a percentage below which CPU usage must remain for a specified time. 次に、この時間の長さを設定します。Next, set the amount of time. 指定された長さの時間にわたって CPU 使用率が指定の率を下回ると、 SQL ServerSQL Server エージェントは、CPU アイドル時スケジュールが設定されているすべてのジョブを開始します。When the CPU usage is below the specified percentage for the specified amount of time, SQL ServerSQL Server Agent starts all jobs that have a CPU idle time schedule. SQL Server プロファイラーSQL Server Profiler またはパフォーマンス モニターを使用して CPU 使用率を監視する方法については、「 CPU 使用率の監視」を参照してください。For more information on using SQL Server プロファイラーSQL Server Profiler or Performance Monitor to monitor CPU usage, see Monitoring CPU Usage.

[説明]Description トピックTopic
SQL ServerSQL Server エージェント ジョブのスケジュールを作成する方法について説明します。Describes how to create a schedule for a SQL ServerSQL Server Agent job. Create a ScheduleCreate a Schedule
SQL ServerSQL Server エージェント ジョブのスケジュールを設定する方法について説明します。Describes how to schedule a SQL ServerSQL Server Agent job. ジョブのスケジュール設定Schedule a Job
使用しているサーバーの CPU アイドル状態を定義する方法について説明します。Explains how to define the CPU idle condition for your server. CPU のアイドル時間と期間の設定 (SQL Server Management Studio)Set CPU Idle Time and Duration (SQL Server Management Studio)

参照See Also

sp_help_jobschedulesp_help_jobschedule
sysjobschedulessysjobschedules