2016-09-27 25 views
0

我有點有趣的情況。我們Azure的SQL實例在100 DTU馬克塞斯一定的查詢和查詢將返回超時:最大出Azure SQL DTU與SQL內部代碼,但不是從SQL Server Management Studio

SqlException (0x80131904): Timeout expired. The timeout period 
elapsed prior to completion of the operation or the server is not 
responding. This failure occurred while attempting to connect to the 
routing destination. 

如果我運行完全相同的查詢(與參數硬編碼),在SQL Server Management Studio中,它仍然需要在DTU高達25%,但這與100%還有很大差距。該服務器上沒有其他運行。還有一些其他查詢在之前/之後運行。但是,如果我們只是運行它們,沒有什麼刺激。

任何想法?

回答

0

我的問題的分析是這樣的..

首先當DTU的被刷爆了,如果查詢由於失敗了,你不會得到時間out..Below是錯誤消息你會得到。 。

資源ID:%d。數據庫的%s限制是%d,並且已達到。欲瞭解更多信息

你可以試着在打開多個資源密集型查詢

其次,當你得到超時的,如你的問題指出,這主要是由於查詢等待資源喜歡說一些數據庫IO ,內存..

我們面臨着類似的超時的,但大部分都是通過更新的統計和重建索引固定的,他們的其餘部分,我們優化

+0

我的應用程序的Azure DTU的最大程度的發揮,我看到超時/任務取消錯誤信息。 AFAIK請求只是排隊,直到超時。我從來沒有見過你發佈的資源ID消息,但也許我正在尋找錯誤的地方。 –

相關問題