我有一個SQL數據庫和asp.net 5網絡應用程序的Azure試用帳戶。數據庫服務器防火牆對我的本地計算機IP有一個規則,並且還有「允許訪問Azure服務」複選框。我可以從本地的Sql Server Manager連接到Azure數據庫,而不會發生任何事件。Azure的Web應用程序無法訪問天藍色的數據庫
網絡應用程序在其「應用程序設置/連接字符串」部分設置了此連接字符串。 I'have檢查WEP的應用程序使用此連接字符串:
"Server=tcp:[MyServerName].database.windows.net,1433;Database=[MyDbName];User ID=[MyUserName]@[MyServerName];Password=[MyPassword];Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;"
此相同的連接字符串在桌面客戶端使用,工作正常。 但是,Web應用程序無法連接到服務器,並引發此異常,這很清楚,但我不知道如何解決。
A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server)
我知道非常類似的問題已經被問和在這裏找到答案,但他們都不是我面對完全一樣的問題,也沒有對我的解決方案。
謝謝大家的時間。
更新1
作爲一個測試,我已經配置了網站上我的本地IIS運行,對湛藍的DB,和它的作品也。所以,桌面應用程序,sql服務器管理器和IIS可以從我的本地計算機訪問這個數據庫。當然,我的IP在服務器防火牆中列入白名單,但天青的應用服務也被列入白名單,並且無法訪問。
更新2
喬RAIO的評論讓我仔細檢查區域配置,和這裏的當前設置的屏幕截圖。我相信一切都是正確的。
您是否也嘗試添加Web服務器的地址數據庫的防火牆設置?當我花點時間查看是否可以進一步排除故障時,我會嘗試重現您的方案。 –
該網站託管在Azure應用服務中,所以我不知道如何查找IP。但是,在sql server的防火牆設置中,有一條規則啓用了「允許訪問Azure服務」,它應該將所有應用程序列入白名單。 –
您可以單擊Web應用程序的「屬性」選項卡查看IP地址。雖然從你描述的內容你不應該添加Web應用程序的IP地址。它應該工作。 Web應用程序和SQL數據庫都位於同一個Azure地理區域中嗎? –