如何为RDMS外部数据源正确设置防火墙规则

时间:2019-02-18 07:52:17

标签: azure azure-sql-database

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

undefined

如果执行如下所示的SELECT语句:

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

您收到这样的错误:

  

从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数据库?

1 个答案:

答案 0 :(得分:1)

如果要在Azure SQL数据库中配置弹性查询(跨数据库查询),并且在Azure SQL数据库防火墙规则上将“允许对Azure服务的访问”设置为“开”,则该方法应该起作用。这样,当Azure SQL数据库更改其IP地址时,弹性查询不会失败。

enter image description here

配置Azure SQL数据库防火墙以允许弹性查询的更受限制的方法当前不存在。您可以对该功能here进行投票,以便将来Azure SQL数据库团队可以考虑使用它。