我当前无法从专用数据中心中的单独远程独立专用机箱连接到我的Azure SQL数据库.

我有一个Azure SQL数据库,我在其中管理可以连接到此数据库的IP地址列表.到目前为止,这种做法一直运作得很好.我最近在一个私有数据中心设置了一个新的专用箱,它需要以规则的5秒间隔(或多或少)查询Azure SQL数据库.

The problem is, this dedicated box cannot establish a connection to the Azure SQL database, despite being able to connect to other remote FTP servers, MySQL servers, etc. The Azure SQL database does have the IP address of the dedicated box on the allowed connection list. Furthermore, I temporarily opened up a massive range of allowed IP addresses (0.0.0.0 -> 255.255.255.255) on the Azure SQL database to see whether this inability to connect may have resulted from IP blocking.

有没有人有什么建议或 idea 可能会导致这种情况,以及我如何才能开始更好地调试这种情况?

需要澄清的是:我可以从办公室和其他地方拥有单独IP地址的笔记本电脑连接到Azure SQL数据库,只要它们已经添加到数据库白名单中;我可以从专用的盒子向外连接到远程FTP和MySQL服务器;我已经try 在Azure SQL上打开大量允许的IP地址,但没有成功.

Edit

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.

推荐答案

总结一下.

Windows Azure SQL数据库(以前称为SQL Azure)以独占方式工作,并且仅在TCP端口1433上运行.到目前为止,它只支持SQL Server身份验证、TCP连接和TDS协议.

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

  • 创建sqlazure服务器&;数据库
  • 设置SQL Azure Server的防火墙规则以接受来自将连接到该服务器的应用程序的IP地址的连接
  • 确保机箱(虚拟、主目录或其他设备)没有阻塞出站TCP端口1433
  • 在连接字符串中显式强制加密
  • 明确 Select 不信任连接字符串中的服务器证书

请注意,许多(如果不是全部)互联网服务Provider (ISP)和主机Provider ,以及公司内的IT人员都使用挡路的TCP1433端口.这个传出端口阻塞似乎是SQL Azure新用户面临的最大问题之一.

UPDATE Nov. 2015

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

Database相关问答推荐

触发器作为完整性的判断约束

在MongoDB的树形 struct 中更新具有给定id的元素

删除Postgres中的JSONB列并在不停机的情况下回收空间

管理数据库中的产品计数

android 应用程序与 web 服务通信的安全性

在 Oracle 中查找数据库的大小

SQL Select 用字符串替换整数

当您达到 SQL Server Express 4GB / 10GB 限制时会发生什么?

无法启动 MongoDB:Windows 中的系统错误 1067

SQL Server 简单插入语句超时

将数据库表用作作业(job)队列的最佳方式是什么?

处理hibernate entities上的数据库视图的优雅方法?

如何使用 MySQL Workbench 更改字段的值?

用于 Java 桌面应用程序的最佳数据库是什么

EF4 代码优先导致 InvalidOperationException

如何使用 Realm 进行排序?

如何将纬度/经度对转换为 PostGIS 地理类型?

对于 N:M 关系,在 MongoDB 中推荐的级联删除等效项是什么?

Select 多模型 DBMS 时要考虑哪些因素? (OrientDB 与 ArangoDB)

无需安装的轻量级 SQL 数据库