1
我在存儲過程中有一個複雜的查詢。在過程本身中,如果我認爲已經通過了30秒的閾值(這將迫使人們做一些優化),我想判斷事情正在進行多長時間,並執行RAISERROR。SQL Server查詢處理過長?
任何人都可以說一個體面的方式來實現這一切,都在TSQL代碼?
謝謝。
我在存儲過程中有一個複雜的查詢。在過程本身中,如果我認爲已經通過了30秒的閾值(這將迫使人們做一些優化),我想判斷事情正在進行多長時間,並執行RAISERROR。SQL Server查詢處理過長?
任何人都可以說一個體面的方式來實現這一切,都在TSQL代碼?
謝謝。
在開始潛在的昂貴查詢之前,您可以發出set query_governor_cost_limit
。但是,我相信這會在查詢開始之前取消查詢(如果估計時間過長),而不是在實際達到限制時取消查詢。
您可以在應用程序中執行命令超時嗎?如果沒有,我認爲你需要服務經紀人。 – 2011-03-23 15:12:52
超時最好由調用代碼處理。 – 2011-03-23 15:16:04