导出 (0) 打印
全部展开

如何:配置数据库级防火墙设置 (Azure SQL Database)

更新时间: 2012年7月

注:本页面内容可能不完全适用中国大陆地区运营的 Windows Azure服务。如要了解不同地区 Windows Azure 服务的差异, 请参考本网站.

Microsoft Microsoft Azure SQL Database 通过使用 Azure SQL Database 防火墙阻止对 Azure SQL Database 服务器的访问。你可以为 Azure SQL Database 服务器中的 master 或用户数据库定义数据库级防火墙设置,以有选择地允许对数据库的访问。必须连接到数据库来创建或编辑数据库的数据库级防火墙规则。有关数据库级防火墙规则的详细信息,请参阅 Azure SQL Database 防火墙

note注意
在首次连接 Azure SQL Database 服务器时,必须使用管理门户通过防火墙启用连接。

配置 master 和用户数据库的数据库级防火墙设置

  1. 使用管理门户确认存在允许你的计算机尝试连接 Azure SQL Database 服务器的服务器级防火墙设置。你计算机的 IP 地址必须位于其中一个服务器级防火墙设置的 IP 地址范围之内。有关详细信息,请参阅Azure SQL Database 防火墙

  2. 连接到要创建数据库级防火墙规则的数据库。

  3. 使用 sp_set_database_firewall_rule 存储过程创建数据库级防火墙规则。通过在 name 存储过程的 sp_set_database_firewall_rule 参数中指定唯一名称,为基于 Internet 的连接添加新的防火墙设置。使用 start_ip_address 参数指定所需的该范围中的最低 IP 地址,使用 end_ip_address 参数指定所需的该范围中的最高 IP 地址。name 参数的数据类型为 nvarchar,start_ip_addressend_ip_address 参数的数据类型为 varchar。

    同样,你可以通过使用 sp_set_database_firewall_rule 存储过程(其中的参数 start_ip_addressend_ip_address 等于 0.0.0.0),启用从 Azure 进行的连接尝试。

  4. 通过执行以下查询查看数据库的数据库级防火墙设置:select * from sys.database_firewall_rules。此视图在 Azure SQL Database 服务器的每个数据库中都存在,它返回数据库的所有数据库级规则的列表。

  5. 通过在 name 存储过程的 sp_set_database_firewall_rule 参数中指定现有名称,更新基于 Internet 的连接的现有数据库级防火墙设置。使用 start_ip_addressend_ip_address 参数指定新的 IP 地址范围。

  6. 通过在 name 存储过程的 sp_delete_database_firewall_rule 参数中指定不需要的防火墙设置的名称,删除该数据库级防火墙设置。

示例

本示例演示如何使用 Transact-SQL 配置数据库级防火墙设置。要查看 Azure SQL Database 服务器中某数据库的数据库级防火墙设置,请连接到该数据库,然后运行以下查询:

-- view database-level firewall settings
select * from sys.database_firewall_rules

可以使用 sp_set_database_firewall_rule 存储过程添加或更改防火墙设置。以下代码仅为 IP 地址 Example DB Setting 1 创建了名为 0.0.0.4 的数据库级防火墙设置。然后,再次调用了 sp_set_database_firewall_rule 存储过程,允许该防火墙设置中的另一个 IP 地址 0.0.0.5 访问。

-- create new database-level firewall setting for only IP 0.0.0.4
exec sp_set_database_firewall_rule N'Example DB Setting 1','0.0.0.4','0.0.0.4'

-- update database-level firewall setting to also allow IP 0.0.0.5
exec sp_set_database_firewall_rule N'Example DB Setting 1','0.0.0.4','0.0.0.5'

若要删除防火墙设置,请使用 sp_delete_database_firewall_rule 存储过程,如下面的代码所示。

-- Remove database-level firewall setting
exec sp_delete_database_firewall_rule N'Example DB Setting 1'

另请参见

社区附加资源

显示:
© 2014 Microsoft