1

我很难在 Azure 网络中的服务器之间建立 SQL 连接。真正奇怪的是,我可以从位于 VM 网络之外的家用计算机连接到 SQL。这似乎是来自 VM 域中的某种类型的网络问题,我还无法识别。

我的配置如下:

  • 我有三个 VM(Active Directory、Sql Server 和一个 App Server)
  • 我正在尝试建立从应用服务器到 sql server 的 SQL 连接
  • 两个 VM 的 Windows Server 2012
  • 所有服务器都在同一个 azure 网络、关联组、域上
  • 所有连接到域并具有 IP 的服务器
  • 我可以看到 DNS 正在解析,因为我可以使用 sql server 的计算机名从应用服务器 ping sql server
  • 我创建了防火墙规则,允许在两台服务器上的端口 1433 上进出
  • 由于在 SQL Server 上执行了此命令,SQL Server 正在侦听默认端口(我不理解 0.0.0.0 IP 虽然这可能是个问题)(我可以在家连接,所以我认为这没关系)

    网络统计-an | 找到“:1433”

    TCP 0.0.0.0:1433 0.0.0.0:0 监听

    TCP [::]:1433 [::]:0 监听

  • 我在 SQL 上为默认 sql 端口 1433 创建了公共和私有端点

  • 我实际上可以从我的家用机器连接到 SQL Server
  • 我暂时关闭了两台服务器上的防火墙
  • 来自应用服务器的 tracert 看起来像这样。

    跟踪 spsql01

    跟踪到 spsql01 [10.0.0.7] 的路由

    最多超过 30 跳:

    1 * * * 请求超时。

    2 * * * 请求超时。

    3 * * * 请求超时。

    4 5 毫秒 <1 毫秒 1 毫秒 spsql01 [10.0.0.7]

    跟踪完成。

  • 在 App Server 上,我创建了一个 connection.udl 文件来测试与我的 SQL Server 的连接,但它从未通过连接测试。 连接失败

4

1 回答 1

0

您是否为 Windows Azure 中的 VM 创建了适当的 Windows Azure SQL 数据库防火墙规则?您可以为所有 Windows Azure 使用特殊的 0.0.0.0,或者更好的是,提供您的 IaaS 云服务的公共 VIP(而不是单个 VM 的私有 DIP)。后者将防火墙限制为仅对您的云服务的访问,因为到 WASD 的出站连接将使用您的公共 VIP。请注意,如果您删除(或停止/解除分配)云服务中的所有虚拟机,您将失去 VIP。

于 2013-08-25T22:25:11.727 回答