21

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

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

问题是,尽管能够连接到其他远程 FTP 服务器、MySQL 服务器等,但此专用框无法建立与 Azure SQL 数据库的连接。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.
4

3 回答 3

27

总结一下。

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

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

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

请注意,由于SQL Slammer 蠕虫,许多(如果不是全部)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/

于 2012-07-24T12:05:24.623 回答
2

如果您使用企业网络访问互联网并遇到此问题,解决此问题的一种简单方法是使用手机的移动热点访问互联网。

一定要禁用你的以太网连接,它也可能连接到互联网。

于 2018-03-27T11:42:00.627 回答
1

在这个问题上花了几个小时。最终发现我的修复是我在 Xfinity 防火墙上的设置。我把它设置为高。将设置更改为低安全性后,我可以毫无问题地连接到 Azure sql 数据库。

于 2017-01-08T18:59:35.337 回答