关于sql server的job可不可以根据存储过程的结果关闭今天的工作?

0
情况是这样的:客户想做一个定时工作每天的1点到4点执行一个存储过程将2年前的数据移到一个备份数据库并且删除现有的数据。
可能在刚开始的很长时间这个存储过程都会跑满3个小时,但是过一段时间这个存储过程可能也就跑1~2分钟就完成了。
有没有什么办法可以在定时工作中设置按照这个存储过程的结果来判断是否停止今天的工作。转天依然要继续运行这个存储过程。
因为数据量很大所以我写的脚本是每次都跑1000条数据,跑完1000条这个存储过程就完成了 然后job会再次调用这个存储过程。
请大神能给个解决方案
已邀请:
0

otzibo - Good good study, day day up. 2016-03-07 回答

可以在该job中的计划中设置为每天1-4点一直反复运行,可以在存储过程里设定逻辑,判断是否继续删除数据。
 
1

li052468 2016-03-08 回答

写个存储过程调用你要执行的存储过程,在这个存储过程里面判断是否需要继续执行(需要判断时间和返回结果两项:如果有要备份的且当前时间还不到4点,就继续循环调存储过程,否则退出),然后job每天一点调一次这个新写的存储过程
0

- 取是能力,舍是境界 2016-03-06 回答

可以在存储过程中根据业务判断调用系统存储过程停止作业
 
https://technet.microsoft.com/ ... 82793(en-us,SQL.90).aspx

要回复问题请先登录注册