sp_add_jobschedule (Transact-SQL)

更新 : 2008 年 11 月 17 日

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

構文

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) で、既定値はありません。

    ms366342.note(ja-jp,SQL.90).gifメモ :
    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

    一度だけ

    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_type32 (月単位) に設定されている場合は frequency_interval をさらに定義します。

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

    説明 (単位)

    1

    第 1

    2

    第 2

    4

    第 3

    8

    第 4

    16

    最終

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

  • [ @freq_recurrence_factor= ] frequency_recurrence_factor
    ジョブを実行する週間隔または月間隔を指定します。frequency_recurrence_factor が使用されるのは、frequency_type816、または 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_dateactive_end_date の間の日で、ジョブの実行を開始する時刻を指定します。active_start_time のデータ型は int で、既定値はありません。時刻の形式は HHMMSS で、24 時間形式です。
  • [ **@active_end_time=**active_end_time
    active_start_dateactive_end_date の間の日で、ジョブの実行を終了する時刻を指定します。active_end_time のデータ型は int で、既定値はありません。時刻の形式は HHMMSS で、24 時間形式です。
  • [ @schedule_id=schedule_idOUTPUT
    スケジュールの作成が成功したときにスケジュールに割り当てられるスケジュール ID 番号を指定します。schedule_idint 型の出力変数で、既定値はありません。

リターン コードの値

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

結果セット

なし

解説

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

権限

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

  • SQLAgentUserRole
  • SQLAgentReaderRole
  • SQLAgentOperatorRole

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

参照

関連項目

sp_add_schedule (Transact-SQL)
sp_attach_schedule (Transact-SQL)

その他の技術情報

ジョブのスケジュールを設定する方法 (SQL Server Management Studio)

ヘルプおよび情報

SQL Server 2005 の参考資料の入手

変更履歴

リリース 履歴

2008 年 11 月 17 日

変更内容 :
  • @active_start_date に関する情報を追加。