2010-12-14 84 views
0

我有一个存储过程需要大量时间来执行。我们希望它在夜间执行,但它必须不时地检查当前时间,并且在给定时间必须停止执行。我怎么做?请提供我可以在我的存储过程中使用的代码。我们正在使用Microsoft SQL Server 2005中检查存储过程中的时间

回答

1

您可以获得当前日期:

SELECT GETDATE() 

停止执行:

If @date > GETDATE() 
    RETURN --Exits procedure 

在哪里,当你想停止执行@date是日期/时间

0

为其创建维护计划和sprecify开始时间。在此计划中创建“执行T-SQL语句任务”并指定其执行超时(以秒为单位)。

0

为什么你想存在一个未完成的过程?就数据完整性或回滚你所做的所有工作而言,你不会将事情置于不良状态吗?

试图改善proc的性能不是更好的解决方案吗?

+0

proc做了500次某个工作(对于不同的项目),只要它在其中一个工作之间结束就可以结束。 – George 2010-12-15 09:19:37