2013-05-15 103 views
0

我有一個託管在GoDaddy服務器上的網站,許多用戶使用它們各自的用戶名和密碼訪問該網站。我的數據庫在Azure中。突然,當本網站的用戶嘗試使用他們的用戶名和密碼訪問網站時,雖然他們有效,但他們未被認定爲有效用戶。SQL Azure連接突然失敗

因此,當這樣的事情發生幾乎超過5分鐘沒有用戶可以登錄到網站。但是我可以很好地從本地服務器或通過天藍色門戶連接到數據庫。

了一系列的錯誤是被記錄到事件查看器如下:

  1. System.Data.SqlClient.SqlException:超時過期。操作完成之前超時的時間或服務器沒有響應。

  2. System.Data.SqlClient.SqlException:將請求發送到服務器時發生傳輸級錯誤(提供程序:TCP提供程序,錯誤:0 - 現有連接被遠程主機強制關閉。

  3. System.Data.SqlClient.SqlException:建立與SQL Server的連接時發生網絡相關或實例特定的錯誤。服務器未找到或無法訪問。驗證實例名稱是否正確,並將SQL Server配置爲允許遠程連接。 (提供程序:TCP提供程序,錯誤:0 - 連接嘗試失敗,因爲連接方在一段時間後未正確響應,或者由於連接的主機未響應而建立的連接失敗。)

  4. SourceEdge.BCL。 BCLException:無法執行---> System.Data.SqlClient.SqlException:超時過期。操作完成之前超時的時間或服務器沒有響應。

  5. System.ArgumentNullException:值不能爲空。 參數名稱:連接

在5所示的錯誤發生之後的所有後續登錄會導致無效的用戶雖然值不爲空。

你能告訴我爲什麼這個錯誤突然發生。但幾分鐘後會恢復正常,有時甚至需要幾個小時。

+0

聽起來就像是Web服務器之間的網絡連接問題和SQL服務器。 – Jan

+0

但這種情況突然發生並恢復正常。我可以採取哪些其他措施來避免此類問題。因爲有150個用戶,如果出現這種情況,他們都會得到無效的用戶錯誤。我可以再次嘗試訪問azure DB的重試邏輯,我應該嘗試多長時間。 – kavitha

回答

1

我不確定您是否意識到有關向SQL Azure進行連接處理的一些缺陷。由於某些原因,SQL Azure服務可能隨時關閉連接。你需要的是所謂的瞬態條件處理。不知道這是一個問題,但如果you'are沒有意識到這一點,我建議您閱讀以下資源:

Microsoft Technet - Windows Azure SQL Database Connection Management

Microsoft Technet - Retry Logic for Transient Failures in Windows Azure SQL Database

+0

會嘗試以上方法。 thnx很多 – kavitha