Share via


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_iduniqueidentifier,沒有預設值。
  • [ @job_name= ] 'job_name'
    要加入排程的作業名稱。job_namenvarchar(128),沒有預設值。

    ms366342.note(zh-tw,SQL.90).gif附註:
    您必須指定 job_idjob_name,但不能同時指定這兩者。
  • [ @name= ] 'name'
    排程的名稱。namenvarchar(128),沒有預設值。
  • [ @enabled= ] enabled_flag
    指出排程目前的狀態。enabled_flagtinyint,預設值是 1 (已啟用)。如果是 0,就表示未啟用排程。停用排程時,就不會執行作業。
  • [ @freq_type= ] frequency_type
    指出何時將執行作業的值。frequency_typeint,預設值是 0,它可以是下列值之一:

    描述

    1

    一次

    4

    每日

    8

    每週

    16

    每月

    32

    每月,相對於 frequency_interval.

    64

    SQL Server Agent 服務啟動時執行。

    128

    在電腦閒置時執行。

  • [ @freq_interval= ] frequency_interval
    執行作業的天數。frequency_intervalint,預設值是 0,而且它會隨著 frequency_type 的值而不同,如下表所示:

    效果

    1 (一次)

    frequency_interval 未使用。

    4 (每天)

    每隔 frequency_interval 天。

    8 (每週)

    frequency_interval 是下列一或多項 (以 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 Agent 服務啟動時)

    frequency_interval 未使用。

    128

    frequency_interval 未使用。

  • [ @freq_subday_type= ] frequency_subday_type
    指定 frequency_subday_interval 的單位。frequency_subday_typeint,沒有預設值,它可以是下列值之一:

    描述 (單位)

    0x1

    在指定的時間

    0x4

    分鐘

    0x8

    小時

  • [ @freq_subday_interval= ] frequency_subday_interval
    在作業的每個執行之間發生的 frequency_subday_type 週期數。frequency_subday_intervalint,預設值是 0。
  • [ @freq_relative_interval= ] frequency_relative_interval
    frequency_type 設定為 32 (每月相對) 時,進一步定義 frequency_interval

    frequency_relative_intervalint,沒有預設值,它可以是下列值之一:

    描述 (單位)

    1

    第一個

    2

    第二個

    4

    第三個

    8

    第四個

    16

    最後一個

    frequency_relative_interval 指出間隔的發生次數。例如,如果將 frequency_relative_interval 設定為 2、將 frequency_type 設定為 32,並將 frequency_interval 設定為 3,排程作業將會在每個月的第二個星期二發生。

  • [ @freq_recurrence_factor= ] frequency_recurrence_factor
    作業的各排程執行之間的週數或月數。只有當 frequency_type 設定為 81632 時,才會使用 frequency_recurrence_factorfrequency_recurrence_factorint,預設值是 0。
  • [ @active_start_date= ] active_start_date
    作業執行可以開始的日期。active_start_dateint,沒有預設值。日期格式為 YYYYMMDD。如果已設定 active_start_date,這個日期就必須大於或等於 19900101。

    建立排程之後,請檢閱開始日期並確認它是所需的正確日期。如需詳細資訊,請參閱<建立排程>中的<排程開始日期>一節。

  • [ @active_end_date= ] active_end_date
    作業執行可以停止的日期。active_end_dateint,沒有預設值。日期格式為 YYYYMMDD。
  • [ @active_start_time= ] active_start_time
    active_start_dateactive_end_date 之間任何一天開始執行作業的時間。active_start_timeint,沒有預設值。時間格式為使用 24 小時制的 HHMMSS。
  • [ **@active_end_time=**active_end_time
    active_start_dateactive_end_date 之間任何一天結束執行作業的時間。active_end_timeint,沒有預設值。時間格式為使用 24 小時制的 HHMMSS。
  • [ @schedule_id=schedule_idOUTPUT
    成功建立排程時,指派給這個排程的排程識別碼。schedule_idint 類型的輸出變數,沒有預設值。

傳回碼值

0 (成功) 或 1 (失敗)

結果集

None

備註

現在,您可以在作業之外,獨立管理作業排程。若要將排程加入作業中,請利用 sp_add_schedule 來建立排程,利用 sp_attach_schedule 將排程附加在作業上。

Permissions

依預設,只有系統管理員 (sysadmin) 固定伺服器角色的成員,才能夠執行這個預存程序。其他使用者必須被授與 msdb 資料庫的下列其中一個 SQL Server Agent 固定資料庫角色。

  • SQLAgentUserRole
  • SQLAgentReaderRole
  • SQLAgentOperatorRole

如需有關這些角色權限的詳細資料,請參閱<SQL Server Agent 固定資料庫角色>。

請參閱

參考

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

其他資源

如何:排程作業 (SQL Server Management Studio)

說明及資訊

取得 SQL Server 2005 協助

變更歷程記錄

版本 歷程記錄

2008 年 11 月 17 日

變更的內容:
  • 新增有關 @active_start_date 的資訊。