所以我在Azure App Service中有一个Web作业,它无法连接到Azure SQL数据库中的数据库。
收到以下错误:
The underlying provider failed on Open. ---> System.Data.SqlClient.SqlException: A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible
Web作业不断尝试连接,并且一直在失败。让它工作的唯一方法是重启应用服务。
只是好奇,为什么重新启动应用服务有效,以及为什么网络工作在不断尝试时无效?重新启动azure app服务是否会为其提供新的IP或其他内容,假设它与Azure硬件互联网中的网络相关?
答案 0 :(得分:0)
确保在Web App Application Settings下添加了连接字符串。
Azure网站和WebJob正在共享Azure门户上设置的应用程序设置/连接字符串。因此,假设您使用.NET控制台应用程序作为WebJob,只需使用ConfigurationManager获取连接字符串(以帮助测试它,只需让您的app.config具有相同的连接字符串键)。
如果您不使用.NET控制台应用程序,则连接字符串位于环境中,因此您只需查询它们即可。参考:Use connectionstring in WebJob on Azure
另外,请查看Solving Connectivity errors to SQL Server的问题排查指南。
希望这有帮助。