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' 用于描述和区分数据库级防火墙设置的名称。 名称nvarchar (128) ,没有默认值。 对于 SQL 数据库,Unicode 标识符 N 是可选的。

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

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

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

注意

当此字段和 start_ip_address 字段相等 0.0.0.0时,允许 Azure 连接尝试。

备注

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

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

权限

需要针对数据库的 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该地址。 这会创建允许 IP 地址0.0.0.40.0.0.50.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 数据库)