Asp.net
為什麼我會間歇性地收到此錯誤?“伺服器未找到或無法訪問”
我們不斷在我們的 Web 應用程序中隨機收到此錯誤。
System.Data.SqlClient.SqlException:建立與 SQL Server 的連接時發生與網路相關或特定於實例的錯誤。伺服器未找到或無法訪問。驗證實例名稱是否正確以及 SQL Server 是否配置為允許遠端連接。(提供者:命名管道提供者,錯誤:40 - 無法打開與 SQL Server 的連接)
如果我們每次都得到錯誤,但間歇性地得到它表明正在發生其他事情,那將是有道理的。
有沒有人經歷過這個?有什麼建議或理論嗎?
謝謝!
伺服器可能太忙而無法響應 - 您使用的是 SQL Express 還是 Workgroup Edition?另外,這台伺服器一次有多少個連接?此錯誤是在某個時間發生在所有連接上,還是某些連接被拒絕而其他連接同時成功?
另外,如果您執行“PING -t Servername”並觀察它,是否每個 ping 都會返回,還是失去了一些?這可能表明網路中斷也可能導致此錯誤。
我們之所以有這種情況是因為防火牆太多:客戶端(比如香港或紐約,我們在瑞士)越遠,它發生的頻率就越高。倫敦:很少。瑞士:從來沒有。我們(通過我們的數據庫工程和 MS 幫助)向我們解釋說,由於路由器和防火牆造成的延遲有時會擾亂 Kerberos 和/或相關的時間安排。
修復:使用連接字元串中的埠。這避免了到埠 1434 的往返來列舉實例。我們已經使用了 FQDN。
範例:server.domain.tld\instance,port
當然是 YNNV,但它對我們有用