2012-04-16 55 views
2

我在SQl中有一個存儲過程Azure在5分鐘時間內定期調用並處理數據庫,並且根據我的日誌,它有時會根據以下情況給出Timeout錯誤。如何增加SQL Azure存儲過程中的超時

超時已過期。在完成 操作或服務器沒有響應之前已經超時。

如何增加此查詢或整個Db的超時?什麼是默認的Timeout?

更新

我認爲超時沒有因連接到這裏按@Ming和@Ruchit的答案SQL Azure的,因爲當我檢查了日誌然後在下面的錯誤會顯示消息像

警告:空值由集合或其他SET 操作消除。

這意味着查詢正在執行,上面的消息,因爲我已經在NULL值上使用了一些聚合函數。我是否認爲正確?其他可能的原因是什麼?

在此先感謝。

回答

3

根據http://social.msdn.microsoft.com/Forums/en-US/ssdsgetstarted/thread/7070c2f9-07d1-4935-82c2-b74a196908ee/,SQL Azure將關閉長於5分鐘的空閒連接。正如你所提到的,你每5分鐘調用一次存儲過程,因此你可能處於超時的邊緣。我想建議你每4分鐘更換一次,看看它是否有效。

另外,使用SQL Azure時,重試非常重要。當查詢失敗時,請關閉連接,等待幾秒鐘,然後創建一個新連接,再次嘗試查詢。通常第二次會正常工作。

最好的問候,

Ming Xu。

+0

感謝您的幫助,請再次檢查我更新的問題。 – 2012-04-18 05:24:11

1

明許是對的。錯誤的原因很可能是5分鐘超時。 如果您無法更改調用存儲過程的時間段,則有一個選項是每3或4分鐘對SQL Azure進行一次虛擬調用。這將保持連接不被關閉。

+0

感謝您的幫助,請再次查看我更新的問題。 – 2012-04-18 05:23:50