Schedule a Job

適用対象:SQL ServerAzure SQL Managed Instance

重要

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

このトピックでは、SQL Server エージェント ジョブのスケジュールを設定する方法について説明します。

はじめに

セキュリティ

詳細については、「 SQL Server エージェントのセキュリティの実装」をご覧ください。

SQL Server Management Studio を使用する

スケジュールを作成してジョブにアタッチするには

  1. オブジェクト エクスプローラー で、 SQL Server データベース エンジンのインスタンスに接続し、そのインスタンスを展開します。

  2. [SQL Server エージェント][ジョブ]の順に展開し、スケジュールを設定するジョブを右クリックします。次に、 [プロパティ]をクリックします。

  3. [スケジュール] ページをクリックし、 [新規作成]をクリックします。

  4. [名前] ボックスに新しいスケジュールの名前を入力します。

  5. スケジュールを作成してもすぐに有効にしない場合は、 [有効] チェック ボックスをオフにします。

  6. [スケジュールの種類]ボックスの一覧で、次のいずれかを選択します。

    • [SQL Server エージェントの開始時に自動的に開始]。 SQL Server エージェント サービスが開始されたときにジョブを開始します。

    • [CPU がアイドル状態になったときに開始] 。CPU がアイドル状態になったときにジョブを開始します。

    • [定期的] 。スケジュールを繰り返し実行します。 定期的なスケジュールを設定するには、ダイアログ ボックス上の [頻度][一日のうちの頻度]、および [実行時間] のグループに値を指定します。

    • [指定日時] 。スケジュールを 1 回のみ実行します。 指定日時 のスケジュールを設定するには、ダイアログ ボックス上の [指定日時に発生] グループに値を指定します。

ジョブにスケジュールをアタッチするには

  1. オブジェクト エクスプローラー で、 SQL Server データベース エンジンのインスタンスに接続し、そのインスタンスを展開します。

  2. [SQL Server エージェント][ジョブ]の順に展開し、スケジュールを設定するジョブを右クリックして、 [プロパティ]をクリックします。

  3. [スケジュール] ページをクリックし、 [選択]をクリックします。

  4. アタッチするスケジュールを選択して、 [OK]をクリックします。

  5. [ジョブのプロパティ] ダイアログ ボックスで、アタッチされたスケジュールをダブルクリックします。

  6. [開始日] が正しく設定されていることを確認します。 正しく設定されていない場合は、スケジュールの開始日を設定し、 [OK]をクリックします。

  7. [ジョブのプロパティ] ダイアログ ボックスで、 [OK]をクリックします。

Transact-SQL の使用

ジョブのスケジュールを設定するには

  1. オブジェクト エクスプローラーで、 データベース エンジンのインスタンスに接続します。

  2. [標準] ツール バーの [新しいクエリ] をクリックします。

  3. 次の例をコピーしてクエリ ウィンドウに貼り付け、 [実行] をクリックします。

    USE msdb ;  
    GO  
    -- creates a schedule named NightlyJobs.   
    -- Jobs that use this schedule execute every day when the time on the server is 01:00.   
    EXEC sp_add_schedule  
        @schedule_name = N'NightlyJobs' ,  
        @freq_type = 4,  
        @freq_interval = 1,  
        @active_start_time = 010000 ;  
    GO  
    -- attaches the schedule to the job BackupDatabase  
    EXEC sp_attach_schedule  
       @job_name = N'BackupDatabase',  
       @schedule_name = N'NightlyJobs' ;  
    GO  
    

詳しくは、「 sp_add_schedule (Transact-SQL) 」および「 sp_attach_schedule (Transact-SQL)」をご覧ください。

SQL Server 管理オブジェクトの使用

Visual Basic、Visual C#、PowerShell などの選択したプログラミング言語で JobSchedule クラスを使用します。 詳細については、「SQL Server 管理オブジェクト (SMO) プログラミング ガイド」を参照してください。