【问题标题】:Can't access SQL Server remotely that resides on an Azure Windows Server 2019 Virtual Machine无法远程访问驻留在 Azure Windows Server 2019 虚拟机上的 SQL Server
【发布时间】:2020-02-25 15:54:54
【问题描述】:

我在 Azure Windows 虚拟机上安装了 SQL Server Express。 我已采取的步骤:

  • 在 SQL Server 配置管理器中更新了 SQL Server 的默认端口。
  • 已验证的 sql server 正在侦听该端口 (netstat -ano)
  • 添加了一个 Windows 防火墙规则以接受该端口上的入站流量(规则范围限制为我的静态 IP 地址)
  • 在 Azure 中添加了入站规则以允许访问该默认端口(源 IP 地址与 Windows 防火墙中的 IP 相同)
  • 已在 SSMS 中启用已验证的远程连接
  • 混合身份验证已启用。
  • 创建的已验证用户能够通过使用 Sql Server Management Studio 在本地登录来访问所需的数据库。这是 sql server 用户,而不是计算机帐户

我可以 telnet 和 nc 到端口。

当我在 VM 上本地访问 SQL Server 时,它的名称如下所示

  • localhost\SERVER_NAME 或
  • 主机名\SERVER_NAME

我正在尝试使用 SSMS 从远程计算机访问此数据库。 我试过了:

  • mydomain.com\SERVER_NAME -mydomain.com 确实解析到正确的 IP 地址
  • mydomain:1234\SERVER_NAME -1234 代表设置的默认端口

我已验证用户名和密码正确。我还尝试关闭 Windows 防火墙,这让我相信它可能是 Azure 中的入站规则,但该规则实际上并没有什么特别之处,只是允许流量到 sql server 端口(在本例中为 1234)。 我错过了什么?

【问题讨论】:

    标签: sql-server azure


    【解决方案1】:

    如果您还没有,请查看this article,并确保您完成了所有必需的步骤?要突出几个重要步骤,请确保:

    1. 设置要发布的连接
    2. 使用 SQL Server 配置管理器手动启用 TCP/IP 协议
    3. 使用 SSMS 连接到您的数据库并为您的 VM 使用以下服务器地址

    希望对你有帮助。

    【讨论】:

    • "并为您的 VM 使用以下服务器地址"... 以下地址是什么?您在此处给出的要点似乎不完整。
    • 无法在此 VM 的 Azure 设置中找到 sql server 连接设置
    • @Larnu 我只是强调了几个重要步骤,我没有包括完整的步骤列表,否则它将是我引用的文章的副本......这不是我的意思。
    • @user2370664 您是否使用 Azure 市场上的现有映像创建了您的 VM?因此,文章中提到的设置可用于 Windows Server 2016 上的 SQL Server 2017 映像(我相信它们也可用于更高版本)
    • “否则它将是我引用的文章的副本” 但这正是你应该做的@HugoBarona,以及添加你是自己的观点。否则,如果链接失效,您的答案对任何未来的读者都没有帮助。您应该在答案中引用链接的相关部分,以便在没有链接的情况下完整;虽然链接应该作为引用并提供进一步阅读。
    【解决方案2】:

    SSMS 中正确的连接字符串是 我的域,1234\SERVER_NAME

    端口前的逗号不是冒号。

    【讨论】:

    • 您如何验证连接字符串的正确格式?通过我发给你的链接?如果是,请接受我的回答,以便其他人可以参考。我会更新答案以指定具体格式。
    猜你喜欢
    • 1970-01-01
    • 2020-08-24
    • 1970-01-01
    • 1970-01-01
    • 2020-11-11
    • 2013-01-08
    • 1970-01-01
    • 1970-01-01
    • 2018-12-27
    相关资源
    最近更新 更多