我有一个存储过程需要花费大量时间来执行。我们希望它在夜间执行,但它必须时不时地检查当前时间,并且在给定时间它必须停止执行。我怎么做?请提供我可以在我的存储过程中使用的代码。我们正在使用Microsoft SQL Server 2005。
答案 0 :(得分:1)
您可以获取当前日期:
SELECT GETDATE()
停止执行:
If @date > GETDATE()
RETURN --Exits procedure
其中@date是您想要停止执行的日期/时间
答案 1 :(得分:0)
创建维护计划并为其启动sprecify。在此计划中创建“执行T-SQL语句任务”并为其指定执行超时(以秒为单位)。
答案 2 :(得分:0)
为什么你想要存在一个未完成的过程?对于数据完整性或者回滚你刚刚完成的所有工作,难道不会让事情处于糟糕状态吗?
尝试改善proc的性能不是更好的解决方案吗?