【问题标题】:Windows Azure Client with IP address 'XXX.XXX.XXX.XX' is not allowed to access the server不允许 IP 地址为“XXX.XXX.XXX.XX”的 Windows Azure 客户端访问服务器
【发布时间】:2023-03-19 17:23:02
【问题描述】:

我在 Windows Azure 中设置了服务器、数据库和防火墙设置(规则)。我已在 Windows Azure 防火墙选项卡下添加了防火墙中的 IP 设置。

当我尝试使用 Azure 平台中的管理连接数据库时,我收到此错误消息。

防火墙检查失败。无法打开登录请求的服务器“XXXXXXXXX”。不允许 IP 地址为“XXXXXXXXX”的客户端访问服务器。要启用访问,请使用 SQL Azure 门户或在主数据库上运行 sp_set_firewall_rule 来为此 IP 地址或地址范围创建防火墙规则。此更改最多可能需要五分钟才能生效。

而且我也无法通过 Sql Server Management Studio 进行连接。我的 IP 地址出现相同的连接问题错误。

我没有使用静态 IP,但在此过程中我的 IP 没有更改。我已经尝试了很多示例,但都说要添加我已经完成的防火墙规则。

我为端口号 1433 添加了防火墙例外。

但这仍然不起作用请告诉我仍然缺少什么类型的设置。

提前致谢。

【问题讨论】:

标签: azure azure-sql-database azure-storage


【解决方案1】:

如果您想从 Azure 门户管理 SQL Azure,您必须选中“允许其他 Windows Azure 服务连接到此服务器”。稍后部署到 Azure 的 Web/Worker 角色也需要这样做:

如果您想从您的家庭/工作 PC 进行连接,您必须使用您的公共 IP 地址使防火墙保持最新!您的公共 IP 地址在小弹出窗口中,当您要添加新的防火墙规则时会弹出:

【讨论】:

  • WTF?!谁刚刚对此投了反对票?乘坐时光机,在 2011 年 12 月返回,然后再投反对票!
  • 只是关于这个问题的更新。我们更改了办公室的 ISP,因此我们的 IP 地址也更改了,我们无法连接到我们的数据库。您必须从 Visual Studios 中的工具登录到您的 azure 帐户。在 sql explorer 中打开你的数据库,你应该可以更新你的 ip 规则了。
【解决方案2】:

如果您发现必须定期执行此操作,我建议您安装 Windows Azure Powershell Cmdlets。一旦你安装了这些,我就在 GitHub 上创建了一个开源项目,它提供了许多常见任务的脚本。

更改防火墙规则恰好是其中一项常见任务,可在此处找到源代码:Windows Azure Powershell Extensions

要安装这些扩展程序,您可以按照我的博文SQL Azure Powershell for Developers on the Run!中的说明进行操作

在未来的更新中,我将提供额外的功能来提供 publishsettings 文件,而不是需要为您的 Windows Azure 帐户创建 SubscriptionId 和 Thumbprint 的 CSV 文件。

【讨论】:

  • 你好 SyntaxC4,在 github 上找不到项目。你在别的地方有吗?谢谢!
  • 我的项目中的所有功能都被吸收到了 Windows Azure Powershell 工具中。下载最新版Windows Azure PowerShell Cmdlets
【解决方案3】:

使用新版本的 Windows azure 只需转到防火墙设置并单击添加客户端 IP 即可。见下图

【讨论】:

  • 这是一个很好的答案,除了我的面包屑路径显示 SQL 数据库 > 工具 > 在 Visual Studio 中打开 > 防火墙设置
  • here 是链接
【解决方案4】:

登录到 Azure 门户

选择您的数据库订阅

点击工具

现在有“在 VisualStudio 中打开”选项(点击它)

点击即可看到“配置防火墙”。

添加新 IP。

完成:)

【讨论】:

    【解决方案5】:

    这只是 Saurin Vala 所说的视觉效果。在 Azure 中无论出于何种原因,您都必须先单击在 Visual Studio 中打开。

    【讨论】:

    • 无论出于何种原因,在 Visual Studio 中添加是唯一对我有用的方法
    【解决方案6】:

    这是我为解决此问题所做的。通过转到防火墙设置 数据库->概览->防火墙设置

    【讨论】:

      【解决方案7】:

      随着 Azure 不断变化,进入防火墙的方式也在不断变化。

      单击您的 SQL 服务器(不是数据库,而是服务器)-> 单击防火墙-> 添加您要允许的 IP 范围。

      别忘了点击保存!

      【讨论】:

      • 这应该是正确的答案,因为不是每个人都安装了 Windows 或应用程序
      • 有没有办法解除IP限制?我的员工没有静态 IP,无论如何我都需要他们能够连接到服务器。
      • @Shimmy 您可以添加多个规则,我还建议 ISP 仍然只有一个 IP 地址范围,请您的员工找出他的(大型 ISP 发布他们的范围,较小的可能需要电话)。您总是可以将范围设置为 0.0.0.0 到 255.255.255.255,但这真的违背了防火墙的目的,对吧? :) 更好的主意,雇主可以支付静态 IP 的费用,在我所在的地区每月大约 5 美元。
      【解决方案8】:

      对我来说是

      Azure 门户 (ARM)

      选择左侧的 SQL 数据库子文件夹或在更多部分中找到以添加。

      选择您的 SQL 数据库

      点击防火墙

      在规则名称和 IP 中

      【讨论】:

        【解决方案9】:

        您可能已经知道,Microsoft 在 Azure 门户中改变了所有地方,这很好,因为它表明他们关心 UX/UI,但是,在我们需要的时候做事情对我们来说有点烦人。

        因此,目前,要编辑特定 SQL 数据库实例的防火墙规则,请按照以下步骤操作。

        主页 > [您的 SQL 数据库] > 概述 > 设置服务器防火墙

        主页 > 所有资源 > [搜索您的 SQL 数据库] > [您的 SQL 数据库] > 概述 > 设置服务器防火墙

        下图显示了 UI 流程。

        【讨论】:

          【解决方案10】:

          奇怪的皱纹:我使用我的 Azure 管理员登录为每个用户设置了防火墙规则,并使用他们的 WhatIsMyIP 地址。有些工作,有些没有。结果发现,当 SSMS 提供为他们更新规则时,一些用户在 SSMS 中看到了不同的 IP 地址。该地址一直有效。我无法解释为什么会有不同的 IP 地址。我只知道我终于让问题用户 [所有非技术人员] 安装 SSMS 并使用它给我正确的地址。

          【讨论】:

            【解决方案11】:

            单击您的数据库资源。点击设置服务器防火墙,进入防火墙设置 添加新规则和所有设置:)

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2012-07-06
              相关资源
              最近更新 更多