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(zh-cn,SQL.90).gif注意:
    必须指定 job_idjob_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(一次)

    不使用 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 代理服务启动时)

    不使用 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 设置为 2frequency_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_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
    成功创建计划时分配给计划的计划标识号。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 的信息。