一尘不染

即使使用白名单IP也无法连接到Azure SQL数据库

sql

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

我有一个AzureSQL数据库,其中管理着可以连接到该数据库的IP地址列表。到现在为止,它一直运行良好。我最近在私有数据中心中设置了一个新的专用框,该框需要每5秒钟定期查询Azure
SQL数据库,是否允许。

问题是,尽管能够连接到其他远程FTP服务器,MySQL服务器等,但该专用框无法建立与Azure
SQL数据库的连接。AzureSQL数据库在允许的连接上确实具有专用框的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.

阅读 141

收藏
2021-03-17

共1个答案

一尘不染

总结一下。

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

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

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

请注意,由于SQLSlammer,许多(如果不是全部)ISP(Internet服务提供商)和托管者以及公司中的IT人员会阻止传出的TCP端口1433
。这种外向端口阻塞似乎是SQL Azure新手最常面临的问题之一。

2015年11月更新

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

2021-03-17