[SQL ] M$SQL設定dynamic job schedule?
看板Database (資料庫)作者Toshiya (Kill me softly)時間18年前 (2007/02/27 15:12)推噓0(0推 0噓 0→)留言0則, 0人參與討論串1/7 (看更多)
其實在想標題要選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
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 7 篇):
Database 近期熱門文章
PTT數位生活區 即時熱門文章