2017-06-02 110 views
0

我在一年前在Azure上使用虚拟机模板设置了SQL Server 2014服务器(SQL1)和Web服务器(WEB1)。我在办公室使用PC1为WEB1编写代码。一切都很好。安装SP2后无法连接到SQL Server 2014

设备列表:

 
------------------------------------------------------------- 
|WEB1 |10.0.0.5  |ASP.net web app still fine after sp2| 
|--------|-------------|------------------------------------| 
|SQL1 |10.0.0.4  |SQL Server in question    | 
|========|=============|====================================| 
|PC1  |NAT   |I can not login from here   | 
------------------------------------------------------------- 

昨天我该服务器上安装SP2。重新启动后,我无法再从本地连接到SQL1服务器,远程连接到PC1。在使用SQL Server的同一子网中的WEB1运行良好。

经过研究,我注意到服务器进入单用户模式,因此我将服务器切换回多用户(通过使用sqlcmd),然后我可以在sql1上使用SSMS登录。

但我仍然无法使用SSMS或asp.net连接字符串从我的电脑登录。

我检查:

  • Windows防火墙仍然允许我的电脑的公网IP连接。
  • Azure网络安全组仍然允许任何MS SQL。
  • SQL Server服务正在运行。
  • Configuration Manager中启用了TCP/IP。
  • 如果启用了ICMP Windows防火墙规则,则可以使用IP从其WEB1 ping SQL1。

如何解决?

+1

当您尝试远程连接到服务器时,您是否在SSMS中收到特定错误? – Poosh

+0

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

+0

也许某些此答案可能有所帮助:[命名管道提供程序,错误40 - 无法打开与SQL Server的连接](https:/ /stackoverflow.com/questions/9945409/how-do-i-fix-the-error-named-pipes-provider-error-40-could-not-open-a-connec) – Poosh

回答

1

我解决了这个问题。

它与SP2无关。这是因为在应用顾问推荐时选择了错误的NSG。

  1. 转到虚拟网络 - 子网,选择虚拟机所属的子网。
  2. 更正NSG设置。如果您已经拥有所有VM的NSG,则设置为none。