次の方法で共有


sp_add_jobschedule (Transact-SQL)

ジョブのスケジュールを作成します。

トピック リンク アイコン Transact-SQL 構文表記規則

構文

sp_add_jobschedule [ @job_id = ] job_id, | [ @job_name = ] 'job_name', [ @name = ] 'name'
     [ , [ @enabled = ] enabled_flag ]
     [ , [ @freq_type = ] frequency_type ]
     [ , [ @freq_interval = ] frequency_interval ]
     [ , [ @freq_subday_type = ] frequency_subday_type ]
     [ , [ @freq_subday_interval = ] frequency_subday_interval ]
     [ , [ @freq_relative_interval = ] frequency_relative_interval ]
     [ , [ @freq_recurrence_factor = ] frequency_recurrence_factor ]
     [ , [ @active_start_date = ] active_start_date ]
     [ , [ @active_end_date = ] active_end_date ]
     [ , [ @active_start_time = ] active_start_time ]
     [ , [ @active_end_time = ] active_end_time ]
     [ , [ @schedule_id = ] schedule_id OUTPUT ]

引数

  • [ @job_id= ] job_id
    スケジュールを追加するジョブの識別番号を指定します。 job_id のデータ型は uniqueidentifier で、既定値はありません。

  • [ @job_name= ] 'job_name'
    スケジュールを追加するジョブの名前を指定します。 job_name のデータ型は nvarchar(128) で、既定値はありません。

    注意

    job_id または job_name のいずれかを指定する必要があります。両方を指定することはできません。

  • [ @name= ] 'name'
    スケジュールの名前。 name のデータ型は nvarchar(128) で、既定値はありません。

  • [ @enabled= ] enabled_flag
    スケジュールの現在の状態を指定します。 enabled_flag のデータ型は tinyint で、既定値は 1 (有効) です。 0 を指定した場合、スケジュールは無効になります。 スケジュールが無効な場合は、ジョブは実行されません。

  • [ @freq_type= ] frequency_type
    いつジョブを実行するかを示す値を指定します。 frequency_type のデータ型は int で、既定値は 0 です。有効値は次のとおりです。

    説明

    1

    1 回。

    4

    毎日。

    8

    毎週。

    16

    毎月。

    32

    frequency_interval. を基準とした月単位。

    64

    SQL Server エージェント サービスの起動時に実行します。

    128

    コンピューターがアイドル状態のときに実行します。

  • [ @freq_interval= ] frequency_interval
    ジョブを実行する日を指定します。 frequency_interval のデータ型は int で、既定値は 0 です。この値は、frequency_type の値に応じて異なります。

    結果

    1 (1 回のみ)

    frequency_interval は使用されません。

    4 (毎日)

    frequency_interval に指定した日数ごとに実行。

    8 (毎週)

    frequency_interval には次の値を 1 つ以上指定できます (OR 論理演算子で結合します)。

    1 = 日曜日

    2 = 月曜日

    4 = 火曜日

    8 = 水曜日

    16 = 木曜日

    32 = 金曜日

    64 = 土曜日

    16 (毎月)

    毎月の frequency_interval で指定した日に実行。

    32 (月単位)

    frequency_interval には、次のいずれかの値を指定できます。

    1 = 日曜日

    2 = 月曜日

    3 = 火曜日

    4 = 水曜日

    5 = 木曜日

    6 = 金曜日

    7 = 土曜日

    8 = 日

    9 = 平日

    10 = 土日

    64 (SQL Server エージェント サービスの起動時)

    frequency_interval は使用されません。

    128

    frequency_interval は使用されません。

  • [ @freq_subday_type= ] frequency_subday_type
    frequency_subday_interval の単位を指定します。 frequency_subday_type のデータ型は int で、既定値はありません。有効値は次のとおりです。

    説明 (単位)

    0x1

    指定した時間

    0x4

    0x8

    時間

  • [ @freq_subday_interval= ] frequency_subday_interval
    ジョブの実行間隔を示す frequency_subday_type 期間の数を指定します。 frequency_subday_interval のデータ型は int で、既定値は 0 です。

  • [ @freq_relative_interval= ] frequency_relative_interval
    frequency_type が 32 (月単位) に設定されている場合は frequency_interval をさらに定義します。

    frequency_relative_interval のデータ型は int で、既定値はありません。有効値は次のとおりです。

    説明 (単位)

    1

    第 1 週

    2

    第 2 週

    4

    第 3 週

    8

    第 4 週

    16

    最終週

    frequency_relative_interval は、相対的な間隔を示します。 たとえば、frequency_relative_interval を 2 に設定し、frequency_type を 32 に設定し、さらに frequency_interval を 3 に設定した場合、スケジュールされたジョブは毎月第 2 火曜日に実行されます。

  • [ @freq_recurrence_factor= ] frequency_recurrence_factor
    ジョブを実行する週間隔または月間隔を指定します。 frequency_recurrence_factor は frequency_type が 816、または 32 に設定されている場合にのみ使用されます。 frequency_recurrence_factor のデータ型は int で、既定値は 0 です。

  • [ @active_start_date= ] active_start_date
    ジョブの実行を開始できる日付を指定します。 active_start_date のデータ型は int で、既定値はありません。 日付の形式は YYYYMMDD です。 active_start_date が設定されている場合、日付は 19900101 以降にする必要があります。

    スケジュールの作成後は、開始日が正しい日付であることを確認するようにしてください。 詳細については、「スケジュールの作成とジョブへのアタッチ」の「開始日のスケジュール設定」を参照してください。

  • [ @active_end_date= ] active_end_date
    ジョブの実行を停止できる日付を指定します。 active_end_date のデータ型は int で、既定値はありません。 日付の形式は YYYYMMDD です。

  • [ @active_start_time= ] active_start_time
    active_start_date と active_end_date の間の日で、ジョブの実行を開始する時刻を指定します。 active_start_time のデータ型は int で、既定値はありません。 時刻の形式は HHMMSS で、24 時間形式です。

  • [ **@active_end_time=**active_end_time
    active_start_date と active_end_date の間の日で、ジョブの実行を終了する時刻を指定します。 active_end_time のデータ型は int で、既定値はありません。 時刻の形式は HHMMSS で、24 時間形式です。

  • [ @schedule_id=schedule_idOUTPUT
    スケジュールの作成が成功したときにスケジュールに割り当てられるスケジュール ID 番号を指定します。 schedule_id は int 型の出力変数で、既定値はありません。

  • [ @schedule_uid= ] schedule_uidOUTPUT
    スケジュールの一意識別子を指定します。 schedule_uid は uniqueidentifier 型の変数です。

リターン コード値

0 (成功) または 1 (失敗)

結果セット

なし。

説明

ジョブ スケジュールはジョブとは別々に管理できます。 スケジュールをジョブに追加するには、sp_add_schedule を使用してスケジュールを作成し、sp_attach_schedule を使用してジョブにスケジュールをアタッチします。

権限

既定では、このストアド プロシージャを実行できるのは、sysadmin 固定サーバー ロールのメンバーです。 他のユーザーには、msdb データベースの次のいずれかの SQL Server エージェント固定データベース ロールが許可されている必要があります。

  • SQLAgentUserRole

  • SQLAgentReaderRole

  • SQLAgentOperatorRole

これらのロールの権限に関する詳細については、「SQL Server エージェントの固定データベース ロール」を参照してください。

関連項目

参照

SQL Server エージェントのストアド プロシージャ (Transact-SQL)

sp_add_schedule (Transact-SQL)

sp_update_schedule (Transact-SQL)

sp_delete_schedule (Transact-SQL)

sp_help_schedule (Transact-SQL)

sp_attach_schedule (Transact-SQL)

概念

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

ジョブのスケジュール設定

スケジュールの作成