sp_set_database_firewall_rule(Azure SQL 数据库)

适用于:YesAzure SQL 数据库

创建或更新 Azure SQL 数据库的数据库级防火墙规则。 可以为master数据库以及 SQL 数据库上的用户数据库配置数据库防火墙规则。 使用包含的数据库用户时,数据库防火墙规则特别有用。 有关详细信息,请参阅包含数据库用户 - 使数据库可移植

语法

  
sp_set_database_firewall_rule [@name = ] [N]'name'  
, [@start_ip_address =] 'start_ip_address'  
, [@end_ip_address =] 'end_ip_address'
[ ; ]  

参数

[ @name = ] [N]'name' 用于描述和区分数据库级防火墙设置的名称。 namenvarchar (128) ,无默认值。 SQL 数据库的 Unicode 标识符 N 是可选的。

[ @start_ip_address = ] 'start_ip_address' 数据库级防火墙设置范围内的最低 IP 地址。 等于或大于此 IP 地址的 IP 地址可能尝试连接到 SQL 数据库的实例。 可能的最低 IP 地址为 0.0.0.0start_ip_addressvarchar (50) ,无默认值。

[ @end_ip_address = ] 'end_ip_address' 数据库级防火墙设置范围中的最高 IP 地址。 等于或小于此 IP 地址的 IP 地址可能尝试连接到 SQL 数据库的实例。 可能的最高 IP 地址为 255.255.255.255end_ip_addressvarchar (50) ,无默认值。

下表演示 SQL 数据库中支持的参数和选项。

注意

如果此字段和 start_ip_address 字段都等于 ,则允许 Azure 连接尝试。

注解

数据库的数据库级防火墙设置的名称必须是唯一的。 如果为存储过程提供的数据库级防火墙设置的名称在数据库级防火墙设置表中已经存在,则将更新开始和结束 IP 地址。 否则,将创建新的数据库级防火墙设置。

如果你添加的数据库级防火墙设置的起始和结束 IP 地址等于 0.0.0.0 ,则可以从任何 Azure 资源中启用对 SQL 数据库服务器中的数据库的访问权限。 为 name 参数提供一个值,以帮助你记住防火墙设置的用途。

权限

需要针对数据库的 CONTROL 权限。

示例

以下代码创建了支持从 Azure 访问数据库的名为 Allow Azure 的数据库级防火墙设置。

-- Enable Azure connections.  
EXECUTE sp_set_database_firewall_rule N'Allow Azure', '0.0.0.0', '0.0.0.0';  
  

以下代码仅为 IP 地址 Example DB Setting 1 创建一个称为 0.0.0.4 的数据库级防火墙设置。 然后,再次调用此 sp_set_database firewall_rule 存储过程,将该防火墙设置中的结束 IP 地址更新为 0.0.0.6 。 这会创建一个范围, 0.0.0.5 该范围允许 IP 地址 0.0.0.40.0.0.6 访问数据库。

-- Create database-level firewall setting for only IP 0.0.0.4  
EXECUTE sp_set_database_firewall_rule N'Example DB Setting 1', '0.0.0.4', '0.0.0.4';  
  
-- Update database-level firewall setting to create a range of allowed IP addresses
EXECUTE sp_set_database_firewall_rule N'Example DB Setting 1', '0.0.0.4', '0.0.0.6';  
  

另请参阅

Azure SQL Database 防火墙
如何:配置防火墙设置(Azure SQL 数据库)
sp_set_firewall_rule(Azure SQL 数据库)
sp_delete_database_firewall_rule(Azure SQL 数据库)
sys.database_firewall_rules(Azure SQL 数据库)