Azure appservice如何连接到VM中的SQL Server

时间:2018-01-31 14:41:19

标签: azure azure-web-sites azure-virtual-machine

我的azure中有api appservice,而且我安装了SQL Server的VM。 现在我想连接到vm上的数据库。在向api提供连接字符串时,我不断收到以下连接错误:

Server=db-svr;Initial Catalog=DBName;Persist Security Info=False;User ID=userid;Password=password;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;
  

System.AggregateException:发生了一个或多个错误。 (建立与SQL Server的连接时发生与网络相关或特定于实例的错误。未找到服务器或无法访问服务器。验证实例名称是否正确以及SQL Server是否配置为允许远程连接。(提供者:命名管道提供程序,错误:40 - 无法打开与SQL Server的连接))

     

System.Data.SqlClient.SqlException:建立与SQL Server的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确,以及SQL Server是否配置为允许远程连接。 (提供者:命名管道提供程序,错误:40 - 无法打开与SQL Server的连接)

     

System.ComponentModel.Win32Exception:访问被拒绝
  ---内部异常堆栈跟踪结束---

     

at System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity,SqlConnectionString connectionOptions,Object providerInfo,Boolean redirectedUserInstance,SqlConnectionString userConnectionOptions,SessionData reconnectSessionData,Boolean applyTransientFaultHandling)

我的虚拟机 - >概述:没有配置DNS名称,也没有公共ipaddress。 这就是我使用计算机名称的原因。

此外,VM-> Networking已获得以下入站规则。

enter image description here

任何人都可以帮助我如何将我的应用服务连接到此VM中可用的SQL Server数据库吗?

由于

1 个答案:

答案 0 :(得分:1)

这是因为他们必须通过互联网互相交谈,因此您必须为sql服务器提供正确的DNS名称或为其使用静态公共IP。

从技术上讲,你可以在webapp中使用vpn,但这会让事情变得复杂。