【问题标题】:How to correctly set firewall rules for RDMS external data sources如何正确设置 RDMS 外部数据源的防火墙规则
【发布时间】:2019-02-18 20:21:21
【问题描述】:

在设置 RDMS 外部数据源和表时,如下所示:

CREATE EXTERNAL DATA SOURCE preview
WITH 
(
    TYPE=RDBMS,
    LOCATION= 'xxxxxxxx.database.windows.net',
    DATABASE_NAME = 'preview',
    CREDENTIAL= preview
)
GO
CREATE SCHEMA preview;
GO

GO
CREATE EXTERNAL TABLE preview.entity_types
(
    entity_type_id int NOT NULL,
    entity_type_name varchar(128) NOT NULL
)
WITH (DATA_SOURCE=preview);
GO

如果执行如下 SELECT 语句:

SELECT *
FROM preview.entity_types

您收到如下错误:

从 xxxxxxxx.database.windows.net.preview 检索数据时出错。这 收到的基本错误消息是:'无法打开服务器'xxxxxxxx' 登录请求。 IP 地址为“xxx.xxx.xxx.xxx”的客户端是 不允许访问服务器。要启用访问,请使用 Windows Azure 管理门户或在主服务器上运行 sp_set_firewall_rule 数据库为此 IP 地址或地址创建防火墙规则 范围。此更改最多可能需要五分钟 效果。'。

我知道如何设置防火墙规则以启用对客户端 IP 地址“xxx.xxx.xxx.xxx”的访问。但我认为 IP 是动态的,它可能会发生变化,因此总有一天会停止工作。

那么,允许访问客户端 SQL Azure 数据库的正确方法是什么?

【问题讨论】:

  • 客户端IP可以是范围,你知道动态IP的范围,能达到你的目的吗?
  • @LeonYue,我不知道范围。它是由 Azure 分配的,我不知道如何确定范围。

标签: azure azure-sql-database


【解决方案1】:

如果您在 Azure SQL 数据库中配置弹性查询(跨数据库查询),如果您在 Azure SQL 数据库防火墙规则上将“允许访问 Azure 服务”设置为“开启”,它应该可以工作。这样,当 Azure SQL 数据库更改其 IP 地址时,弹性查询不会失败。

目前不存在配置 Azure SQL 数据库防火墙以允许弹性查询的更受限制的方法。您可以投票支持此功能here,以便 Azure SQL 数据库团队将来考虑。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-11-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多