作者satolu (Top sales !)
看板Database
标题Re: [SQL ] M$SQL设定dynamic job schedule?
时间Fri Mar 2 17:35:18 2007
你要的是这个吗?
Event Scheduler
http://dev.mysql.com/doc/refman/5.1/en/events-overview.html
mysql 5.1版本後支援
※ 引述《Toshiya (Kill me softly)》之铭言:
: 其实在想标题要选SQL还是系统的时候想了好久... 囧a
: 我目前碰到一个难题
: 因为受限於现有DB的design(alter绝对不可)
: 跟即将上线的新project
: 我要做的东西, 简单讲就是让使用者能设定开始时间与结束时间
: 当时间开始时, 记录database里各个user的值(以SP执行)
: 当时间结束时, 记录此时的值并与前面的值做运算(以分别二只SP执行)
: 以上的三只stored procedure已经都写好了
: 但是最大的问题是
: 开始时间, 结束时间, 都是由使用者设定的
: 一但设定好了以後, 使用者可以随心所欲的更改..
: (只要这个时间make sense的话)
: 使用者没有权限跑去Enterprise Manager里面
: 去Run job schedule wizard... >_<
: 而且这也不是一个常驻性的SP (like backup...)
: 只会by event的各执行一次
: 我曾经想说, 利用我前端的ASP page分别去call这三只SP
: (而这也是我目前的做法)
: 但是问题是, 如果在开始时间/结束时间附近, 这个page没有被load到的话
: 这些SP一样不会被call, 如此一来计算出来的值就一定会不够精确
: 而以这个project而言, "时间"是最大的重头戏,
: 执行时间不能有超过3min的误差
: (DBA已做时间校正)
: 我已经可以把使用者设定的开始/结束时间存入database
: 而我想我需要的应该是在写入这个DB的时候
: 同时call"某些东西"让MS SQL Server能够在指定的时候执行一次SP
: 达到我想要的, 开始记录与结束记录的效果
: 而且当使用者在改时间的时候
: 我必需call"某些东西"让MS SQL server能够找到对应的job并且更改执行时间
: 所以我的问题就是这"某些东西":
: 当今天我想要执行的job必需在dynamic time时被执行时
: 我们有什麽function.. or system sp可以做到这件事情
: 同时又不会增加DB的loading的呢?
: 这三只SP都不需要常驻在系统里, 只需要在DB里存入的指定时间执行就好了
: 谢谢各位的帮忙 <(__)>
--
大地所给予的恩惠是"希望"
让烈火点燃的是"勇气"
水和生命的源头是"怜悯"
风所带来的睿智是"探求"
而书所传授的知识便是"无限"
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 219.84.86.91