2010-12-14 100 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