Ich habe ein Azure-Testkonto mit einer SQL-Datenbank und einer asp.net 5 Web App. Die Firewall des Db-Servers hat eine Regel für die IP-Adresse meines lokalen Computers und das Kontrollkästchen "Zugriff auf Azure-Dienst zulassen" aktiviert. Ich kann von meinem lokalen Sql Server Manager mit der azurblauen Datenbank ohne Zwischenfall verbinden.Azure Web App kann nicht Azure DB
Die Webanwendung hat diese Verbindungszeichenfolge im Abschnitt 'Anwendungseinstellungen/Verbindungszeichenfolgen' eingerichtet. I'have geprüft der wep App diese Verbindungszeichenfolge verwendet:
"Server=tcp:[MyServerName].database.windows.net,1433;Database=[MyDbName];User ID=[MyUserName]@[MyServerName];Password=[MyPassword];Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;"
Die gleiche Verbindungszeichenfolge in einem Desktop-Client verwendet wird und funktioniert einwandfrei. Die Web-App kann jedoch keine Verbindung zum Server herstellen und löst diese Ausnahme aus, was ziemlich klar ist, aber ich weiß nicht, wie ich sie lösen soll.
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)
Ich weiß sehr ähnliche Fragen gestellt wurden und beantwortet hier, aber keiner von ihnen sind genau das gleiche Problem, das ich bin vor, weder haben eine Lösung für mich.
Vielen Dank für Ihre Zeit.
UPDATE 1
Als Test habe ich die Website auf meinem lokalen IIS ausführen konfiguriert, gegen das Blau des DB, und es funktioniert auch. So können Desktop-Anwendungen, SQL-Server-Manager und IIS von meinem lokalen Computer auf diese Datenbank zugreifen. Natürlich ist meine IP-Adresse in der Server-Firewall auf der weißen Liste, aber azurblaue App-Dienste sind ebenfalls auf der weißen Liste und haben keinen Zugriff.
UPDATE 2
Joe Raio Kommentar hat mich die Region Konfiguration doppeltzukontrollieren, und hier ist ein Screenshot der aktuellen Einstellungen. Ich glaube, alles ist richtig.
Haben Sie versucht, Ihre Webserver-Adresse an den Firewall-Einstellungen des DB hinzufügen? Ich werde versuchen, Ihr Szenario zu reproduzieren, wenn ich etwas Zeit habe, um zu sehen, ob ich weitere Fehler beheben kann. –
Die Website wird in Azure App Services gehostet, sodass ich nicht weiß, wie ich die IP herausfinden soll.In den Firewall-Einstellungen für den SQL-Server gibt es jedoch eine Regelaktivierung "Zugriff auf Azure-Dienst zulassen", die alle Anwendungen in azure auf die weiße Liste setzen soll. –
Sie können auf die Registerkarte "Eigenschaften" der Web-App klicken, um die IP-Adresse anzuzeigen. Aus dem, was Sie beschreiben, sollten Sie die IP-Adresse der Web-App nicht hinzufügen müssen. Es sollte funktionieren. Werden sowohl die Web-App als auch die SQL-Datenbank in derselben Azure Geo Region gehostet? –