用sql作业做定时操作问题

li358871791 2011-06-09 02:45:21
--创建调度(使用后面专门定义的几种作业调度模板)
EXEC msdb..sp_add_jobschedule
@job_id = @jobid,
@name = N'调度名称',
@freq_type=4, --每天
@freq_interval=1, --指定每多少天发生一次,这里是1天.
@freq_subday_type=0x8, --重复方式,0x1=在指定的时间,0x4=多少分钟,0x8=多少小时执行一次
@freq_subday_interval=1, --重复周期数,这里每小时执行一次
@active_start_date = NULL, --作业执行的开始日期,为NULL时表示当前日期,格式为YYYYMMDD
@active_end_date = 99991231, --作业执行的停止日期,默认为99991231,格式为YYYYMMDD
@active_start_time = 00000, --作业执行的开始时间,格式为HHMMSS
@active_end_time = 235959 --作业执行的停止时间,格式为HHMMSS
网上说 @freq_type=4是每天8为每周 我现在的疑问是现在我要的是每个多少天就来执行次
想问下 @freq_type=?这儿怎么赋值了 ? 是不是每隔一天就是 @freq_type=1?每隔两天就是 @freq_type=2?
感觉不是 请问高手给指点下
...全文
125 11 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
li358871791 2011-06-10
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 abcjun188 的回复:]
引用 9 楼 li358871791 的回复:
引用 7 楼 abcjun188 的回复:
SQL code
……
不可以,没有那样的选项,@freq_interval=2 or @freq_interval=3 并不是 每两天,每三天
执行一次的意思
[/Quote]
那@freq——interval是什么意思了 ? 这个值用来定义什么的
打一壶酱油 2011-06-09
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 li358871791 的回复:]
引用 7 楼 abcjun188 的回复:
SQL code
写错了,修改一下

2. 然后假如你想 两天 执行一次
方法一 :frequency_type 设为 8 每周,然后 执行间隔 那里 选 24 * 2 小时

方法二 : frequency_type 设为 4 每天,然后频率 选执行一次,最后在作业步骤那里限制,
比如

if( select datediff(…………
[/Quote]
不可以,没有那样的选项,@freq_interval=2 or @freq_interval=3 并不是 每两天,每三天
执行一次的意思
li358871791 2011-06-09
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 abcjun188 的回复:]
SQL code
写错了,修改一下

2. 然后假如你想 两天 执行一次
方法一 :frequency_type 设为 8 每周,然后 执行间隔 那里 选 24 * 2 小时

方法二 : frequency_type 设为 4 每天,然后频率 选执行一次,最后在作业步骤那里限制,
比如

if( select datediff(……
[/Quote]

还是不很明白
@freq_type=4, --每天
@freq_interval=1, --指定每多少天发生一次,这里是1天.

@freq_interval=1这儿既然是指定每多少天发生一次 、 如果我要每两天或者三天执行一次 这儿写
@freq_interval=2 or @freq_interval=3不可以吗?
X_0 2011-06-09
  • 打赏
  • 举报
回复
用每天執行,然後在你執行的腳本里再做限制
打一壶酱油 2011-06-09
  • 打赏
  • 举报
回复
写错了,修改一下

2. 然后假如你想 两天 执行一次
方法一 :frequency_type 设为 8 每周,然后 执行间隔 那里 选 24 * 2 小时

方法二 : frequency_type 设为 4 每天,然后频率 选执行一次,最后在作业步骤那里限制,
比如

if( select datediff(day,0,getdate())%3 = 0)
begin
你要执行的 sql批处理或 存储过程。。。。。
end
打一壶酱油 2011-06-09
  • 打赏
  • 举报
回复
 1.首先来个简要描述
frequency_type 的数据类型为 int,默认值为 0,可以是下列值之一:
值 说明
1 一次
4 每天
8 每周
16 每月
32 每月,相对于 frequency_interval.
64 在 SQL Server 代理服务启动时运行。
128 在计算机空闲时运行。

2. 然后假如你想 三天 执行一次
方法一 :frequency_type 设为 8 每周,然后 执行间隔 那里 选 24 * 3 小时

方法二 : frequency_type 设为 4 每天,然后在作业步骤那里限制,比如

if( select datediff(day,0,getdate())%3)
begin
你要执行的 sql批处理或 存储过程。。。。。
end
li358871791 2011-06-09
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 maco_wang 的回复:]
不是的。

[ @freq_type= ] frequency_type

指示作业执行时间的值。frequency_type 的数据类型为 int,默认值为 0,可以是下列值之一:
值 说明
1 一次
4 每天
8 每周
16 每月
32 每月,相对于 frequency_interval.
64 在 SQL Server 代理服务启动时运行……
[/Quote]

不知道大家听明白我意思没
@freq_type=4 是说每天执行 @freq_type=8是每周执行 我现在想要的是每隔多少天执行下 那么这个@freq_type=?值改怎么给、 比如我想每隔两天就执行下
叶子 2011-06-09
  • 打赏
  • 举报
回复
更多详情参考:
http://msdn.microsoft.com/en-us/library/aa259582%28v=SQL.80%29.aspx
叶子 2011-06-09
  • 打赏
  • 举报
回复
不是的。

[ @freq_type= ] frequency_type

指示作业执行时间的值。frequency_type 的数据类型为 int,默认值为 0,可以是下列值之一:
值 说明
1 一次
4 每天
8 每周
16 每月
32 每月,相对于 frequency_interval.
64 在 SQL Server 代理服务启动时运行。
128 在计算机空闲时运行。
cd731107 2011-06-09
  • 打赏
  • 举报
回复
cd731107 2011-06-09
  • 打赏
  • 举报
回复

说明

1
一次

4
每天

8
每周

16
每月

32
每月,相对于 freq interval

64
SQLServerAgent 服务启动时运行

128
计算机空闲时运行


27,582

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧