Sql Server 2005 维护计划 调度修改

更改 SQL Server 2005代理计划的设置。

语法


sp_update_schedule     { [ @schedule_id = ] schedule_id

      | [ @name = ] 'schedule_name' }

    [ , [ @new_name = ] new_name ]

    [ , [ @enabled = ] enabled ]

    [ , [ @freq_type = ] freq_type ]

    [ , [ @freq_interval = ] freq_interval ]

    [ , [ @freq_subday_type = ] freq_subday_type ]

    [ , [ @freq_subday_interval = ] freq_subday_interval ]

    [ , [ @freq_relative_interval = ] freq_relative_interval ]

    [ , [ @freq_recurrence_factor = ] freq_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 ]

    [ , [ @owner_login_name = ] 'owner_login_name' ]

    [ , [ @automatic_post =] automatic_post ]

备注

所有使用该计划的作业将立即使用新设置。但是,更改计划不会停止当前正在运行的作业。

参数

[ @schedule_id = ] schedule_id

要修改的计划的标识符。schedule_id 的数据类型为 int,无默认值。必须指定 schedule_id schedule_name

[ @name = ] 'schedule_name'

要修改的计划的名称。schedule_name 的数据类型为 sysname,无默认值。必须指定 schedule_id schedule_name

[ @new_name= ] new_name

计划的新名称。new_name 的数据类型为 sysname,默认值为 NULL。如果 new_name NULL,则不更改计划名称。

[ @enabled = ] enabled

指示计划的当前状态。enabled 的数据类型为 tinyint,默认值为 1(启用)。如果为 0,则不启用计划。如果不启用计划,则作业不会按此计划运行。

[ @freq_type = ] freq_type

指示作业执行时间的值。freq_type 的数据类型为 int,默认值为 0,可以是下列值之一。

说明

1

一次

4

每天

8

每周

16

每月

32

每月,相对于 freq interval

64

SQLServerAgent 服务启动时运行

128

计算机空闲时运行

[ @freq_interval = ] freq_interval

作业执行的天数。freq_interval 的数据类型为 int,默认值为 0,该值取决于 freq_type 的值。

freq_type 的值

freq_interval 的影响

1(一次)

freq_interval 未使用。

4(每天)

freq_interval 天。

8(每周)

freq_interval 是以下一个值或多个值(用逻辑运算符 OR 组合):

1 = 星期日

2 = 星期一

4 = 星期二

8 = 星期三

16 = 星期四

32 = 星期五

64 = 星期六

16(每月)

每月的 freq_interval 天。

32(与“每月”选项相关)

freq_interval 是下列值之一:

1 = 星期日

2 = 星期一

3 = 星期二

4 = 星期三

5 = 星期四

6 = 星期五

7 = 星期六

8 =

9 = 工作日

10 = 休息日

64SQLServerAgent 服务启动时)

freq_interval 未使用。

128

freq_interval 未使用。

[ @freq_subday_type = ] freq_subday_type

指定 freq_subday_interval 的单位。freq_subday_type 的数据类型为 int,默认值为 0,可以是下列值之一。

说明(单位)

0x1

在指定的时间

0x2

0x4

分钟

0x8

小时

[ @freq_subday_interval = ] freq_subday_interval

作业的每次执行之间间隔的 freq_subday_type 周期数。freq_subday_interval 的数据类型为 int,默认值为 0

[ @freq_relative_interval = ] freq_relative_interval

freq_interval 32(与“每月”选项相关)时,每月中作业的 freq_interval 的执行频率。freq_relative_interval 的数据类型为 int,默认值为 0,可以是下列值之一。

说明(单位)

1

第一个

2

第二个

4

第三个

8

第四个

16

最后一个

[ @freq_recurrence_factor = ] freq_recurrence_factor

作业的两次计划执行之间的间隔周数或月数。只有 freq_type 816 32 时,才会使用freq_recurrence_factorfreq_recurrence_factor 的数据类型为 int,默认值为 0

[ @active_start_date = ] active_start_date

可以开始执行作业的日期。active_start_date 的数据类型为 int,默认值为 NULL,指示当天的日期。日期格式为 YYYYMMDD。如果 active_start_date 不为 NULL,则日期必须大于或等于 19900101

[ @active_end_date = ] active_end_date

停止执行作业的日期。active_end_date 的数据类型为 int,默认值为 99991231,指示 9999 12 31 日。格式为 YYYYMMDD

[ @active_start_time = ] active_start_time

active_start_date active_end_date 之间的任何一天开始执行作业的时间。active_start_time 的数据类型为 int,默认值为 000000,指示 24 小时制的上午 12:00:00,并且必须使用 HHMMSS 格式输入。

[ @active_end_time = ] active_end_time

active_start_date active_end_date 之间任何一天停止执行作业的时间。active_end_time 的数据类型为 int,默认值为 235959,指示 24 小时制的晚上 11:59:59,必须使用 HHMMSS 的格式输入。

[ @owner_login_name= ] 'owner_login_name']

拥有该计划的服务器主体的名称。owner_login_name 的数据类型为 sysname,默认值为 NULL,指示计划由创建者拥有。

[ @automatic_post =] automatic_post

保留。

涉及到的表



--维护计划涉及到的表,都属于系统数据库msdb

--维护计划列表

select * from dbo.sysjobs

--维护计划调度列表

select * from dbo.sysjobschedules

--维护计划调度设置

select * from dbo.sysschedules


--一个维护计划可能会多次修改调度,调度id值最大的是当前的调度设置

select max(b.schedule_id) from sysjobs a inner join sysjobschedules b

on a.job_id=b.job_id where a.name='维护计划名称'


举例


--12天的 20:39:00 执行。将从 2008-9-23 开始使用计划。

exec sp_update_schedule 4,null,null,1,4,12,1,2,0,0,20080923,99991231,203900,235959



--3 周在星期六 的 20:39:00 执行。将从 2008-9-23 开始使用计划。

exec sp_update_schedule 4,null,null,1,8,64,1,2,0,3,20080923,99991231,203900,235959


--3 周在星期六, 星期日的 20:39:00 执行。将从 2008-9-23 开始使用计划。

Exec sp_update_schedule 4,null,null,1,8,65,1,2,0,3,20080923,99991231,203900,235959


--7 个月于最后一个 星期日 的 0:00:00 执行。将从 2008-9-22 开始使用计划。

exec sp_update_schedule 4,null,null,1,32,1,1,2,16,7,20080922,99991231,0,235959



--7 个月的最后一个星期日 在 0:00:00 23:59:59 之间、每 3 小时执行。将从 2008-9-22 开始使用计划。

exec sp_update_schedule 4,null,null,1,32,1,8,3,16,7,20080922,99991231,0,235959




评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值