共用方式為


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

    一次

    4

    每日

    8

    每週

    16

    每月

    32

    每月,相對於 frequency_interval.

    64

    SQL Server Agent 服務啟動時執行。

    128

    在電腦閒置時執行。

  • [ @freq_interval= ] frequency_interval
    執行作業的天數。 frequency_interval 是 int,預設值是 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_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

    第一個

    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_factor。 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,沒有預設值。 時間格式為使用 24 小時制的 HHMMSS。

  • [ **@active_end_time=**active_end_time
    在 active_start_date 和 active_end_date 之間任何一天結束執行作業的時間。 active_end_time 是 int,沒有預設值。 時間格式為使用 24 小時制的 HHMMSS。

  • [ @schedule_id=schedule_idOUTPUT
    成功建立排程時,指派給這個排程的排程識別碼。 schedule_id 是 int 類型的輸出變數,沒有預設值。

  • [ @schedule_uid= ] schedule_uidOUTPUT
    排程的唯一識別碼。 schedule_uid 是 uniqueidentifier 類型的變數。

傳回碼值

0 (成功) 或 1 (失敗)

結果集

None

備註

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

Permissions

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

  • SQLAgentUserRole

  • SQLAgentReaderRole

  • SQLAgentOperatorRole

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

請參閱

參考

SQL Server Agent 預存程序 (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)

概念

建立及附加排程至作業

排程作業

建立排程