2011-03-23 78 views
1

我在存儲過程中有一個複雜的查詢。在過程本身中,如果我認爲已經通過了30秒的閾值(這將迫使人們做一些優化),我想判斷事情正在進行多長時間,並執行RAISERROR。SQL Server查詢處理過長?

任何人都可以說一個體面的方式來實現這一切,都在TSQL代碼?

謝謝。

+0

您可以在應用程序中執行命令超時嗎?如果沒有,我認爲你需要服務經紀人。 – 2011-03-23 15:12:52

+2

超時最好由調用代碼處理。 – 2011-03-23 15:16:04

回答

3

在開始潛在的昂貴查詢之前,您可以發出set query_governor_cost_limit。但是,我相信這會在查詢開始之前取消查詢(如果估計時間過長),而不是在實際達到限制時取消查詢。