【发布时间】: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 分配的,我不知道如何确定范围。