无法连接到Azure SQL数据库,即使使用列入白名单的IP也是如此

时间:2012-07-23 17:45:14

标签: sql database azure

我目前无法从私有数据中心的单独远程独立专用框连接到我的Azure SQL数据库。

我有一个Azure SQL数据库,我可以在其中管理可以连接到此数据库的IP地址列表。到现在为止,这一直很有效。我最近在私有数据中心中设置了一个新的专用框,需要定期以5秒的间隔查询Azure SQL数据库,给予或接受。

问题是,这个专用框无法建立与Azure SQL数据库的连接,尽管能够连接到其他远程FTP服务器,MySQL服务器等.Azure SQL数据库确实具有专用框的IP地址允许的连接列表。此外,我暂时在Azure SQL数据库上打开了大量允许的IP地址(0.0.0.0 - > 255.255.255.255),以查看此无法连接是否可能是由于IP阻塞造成的。

是否有人对可能导致此问题的原因以及如何更好地开始调试情况有任何建议或想法?

澄清一下:我可以从办公室和其他地方使用个人IP地址的笔记本电脑连接到Azure SQL数据库,只要它们已添加到数据库白名单中;我可以从专用盒子向外连接远程FTP和MySQL服务器;我试图在Azure SQL上打开大量允许的IP地址而没有运气。

修改

C:\Users\graphite.rack.ID17157>osql -S v7o06blktw.database.windows.net -U XXXXXXX@v7o06blktw -P XXXXXXX  
[SQL Server Native Client 11.0] Named Pipes Provider: Could not open a
connection to SQL Server [53].  
[SQL Server Native Client 11.0] Login timeout expired  
[SQL Server Native Client 11.0] A network-related or instance-specific error
has occurred while establishing a connection to SQL Server. Server is not
found or not accessible. Check if instance name is correct and if SQL Server
is configured to allow remote connections. For more information see SQL Server
Books Online.

3 个答案:

答案 0 :(得分:21)

总结一下。

Windows Azure SQL数据库(以前称为SQL Azure)仅在TCP端口1433上运行。它仅支持SQL Server身份验证,TCP连接和TDS协议。

为了成功建立与SQL Azure的连接,必须满足以下要求:

  • 创建SQL Azure服务器&数据库
  • 设置SQL Azure Server的防火墙规则以接受将连接到该服务器的应用程序的IP地址的连接
  • 确保该框(无论是虚拟,家庭还是其他)没有阻止出站TCP端口1433
  • 在连接字符串中明确强制加密
  • 明确选择不信任连接字符串中的服务器证书

请注意,由于SQL Slammer worm,许多(如果不是全部)ISP(互联网服务提供商)和托管商以及公司内的IT员工都会阻止传出TCP端口1433。这个传出端口阻塞似乎是SQL Azure新手的最常见问题之一。

2015年11月更新

截至2015年8月,预览功能使您可以使用Azure AD对Azure SQL数据库进行身份验证。您可以在此处阅读有关此新预览功能的更多信息:https://azure.microsoft.com/en-us/documentation/articles/sql-database-aad-authentication/

答案 1 :(得分:1)

如果您使用公司网络进行互联网访问并遇到此问题, 一个简单的方法就是使用手机的移动热点进行互联网访问。

请务必禁用以太网连接,也可以连接到互联网。

答案 2 :(得分:0)

在这个问题上花了很多时间。对我的修复终于被发现是我在Xfinity防火墙上的设置。我把它设置得很高。一旦我将设置更改为低安全性,我就可以毫无问题地连接到Azure sql数据库。