用于 ADO.NET 4.5 的非 1433 端口

本主题介绍使用 ADO.NET 4.5 或更高版本的客户端的 Azure SQL 数据库连接行为。

Important

有关连接体系结构的信息,请参阅 Azure SQL 数据库连接体系结构

外部与内部

对于 Azure SQL 数据库的连接,首先必须询问客户端程序是在 Azure 云边界外部还是内部运行。 以下小节讨论了两种常见方案。

外部: 客户端在台式计算机上运行

端口 1433 是托管 SQL 数据库客户端应用程序的台式计算机上唯一必须打开的端口。

内部: 客户端在 Azure 上运行

如果你的客户端在 Azure 云边界内部运行,则它使用我们所谓的 直接路由 来与 SQL 数据库服务器交互。 建立连接后,客户端与数据库之间的进一步交互不涉及到任何中间件代理。

顺序如下:

  1. ADO.NET 4.5(或更高版本)发起与 Azure 云的简短交互,并接收动态识别的端口号。

    • 动态识别的端口号范围为 11000-11999 或 14000-14999。
  2. 然后,ADO.NET 不通过任何中间件直接连接到 SQL 数据库服务器。
  3. 查询直接发送到数据库,结果直接返回到客户端。

确保 Azure 客户端计算机上 11000-11999 和 14000-14999 的端口范围已保留,供 ADO.NET 4.5 客户端与 SQL 数据库的交互使用。

  • 具体而言,范围中的端口必须没有其他任何出站阻塞器。
  • 在 Azure VM 上, 高级安全 Windows 防火墙 控制端口设置。

    • 可以使用防火墙的用户界面为指定 TCP 协议以及语法类似于 11000-11999 的端口范围添加规则。

版本澄清

本部分澄清引用产品版本的 Moniker。 此外还列出了产品之间的版本配对。

ADO.NET

  • ADO.NET 4.0 支持 TDS 7.3 协议,但不支持 7.4。
  • ADO.NET 4.5 和更高版本支持 TDS 7.4 协议。