作者Toshiya (Kill me softly)
看板Database
标题[SQL ] M$SQL设定dynamic job schedule?
时间Tue Feb 27 15:12:07 2007
其实在想标题要选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: 75.85.28.187