sp_set_firewall_rule (Banco de Dados SQL do Azure)
Aplica-se a: Banco de Dados SQL do Azure Azure Synapse Analytics
Cria ou atualiza as configurações de firewall no nível do servidor para o servidor do Banco de Dados SQL. Esse procedimento armazenado só está disponível no master
banco de dados para o logon da entidade de segurança no nível do servidor ou para a entidade de segurança da ID do Microsoft Entra (anteriormente Azure Active Directory) atribuída.
Sintaxe
sp_set_firewall_rule
[ @name = ] N'name'
, [ @start_ip_address = ] 'start_ip_address'
, [ @end_ip_address = ] 'end_ip_address'
[ ; ]
Argumentos
@name [ = ] N'nome'
O nome usado para descrever e distinguir a configuração de firewall de nível de servidor. @name é nvarchar(128).
@start_ip_address [ = ] 'start_ip_address'
O endereço IP mais baixo no intervalo da configuração do firewall em nível de servidor. @start_ip_address é varchar(50). Os endereços IP iguais ou superiores a esse valor podem tentar se conectar ao servidor do Banco de Dados SQL. O endereço IP mais baixo possível é 0.0.0.0
.
@end_ip_address [ = ] 'end_ip_address'
O endereço IP mais alto no intervalo da configuração do firewall em nível de servidor. @end_ip_address é varchar(50). Endereços IP iguais ou inferiores a esse podem tentar conectar-se ao servidor do Banco de Dados SQL. O endereço IP mais alto possível é 255.255.255.255
.
As tentativas de conexão do Azure são permitidas quando esse campo e o campo @start_ip_address são iguais a 0.0.0.0
.
Comentários
Os nomes das configurações de firewall de nível de servidor devem ser exclusivos. Se o nome da configuração fornecida para o procedimento armazenado já existir na tabela de configurações do firewall, os endereços IP inicial e final serão atualizados. Caso contrário, uma nova configuração de firewall no nível do servidor será criada.
Quando você adiciona uma configuração de firewall no nível do servidor em que os endereços IP inicial e final são iguais a 0.0.0.0
, você permite o acesso ao servidor do Banco de Dados SQL a partir do Azure. Forneça um valor para o parâmetro name que ajude você a lembrar para que serve a configuração de firewall no nível do servidor.
Em Banco de Dados SQL, dados de logon necessários para autenticar uma conexão e as regras de firewall no nível de servidor são armazenados em cache temporariamente em cada banco de dados. Esse cache é atualizado periodicamente. Para forçar uma atualização do cache de autenticação e garantir que um banco de dados tenha a versão mais recente da tabela de logons, execute DBCC FLUSHAUTHCACHE (Transact-SQL).
Este é um procedimento armazenado estendido, portanto, o tipo de dados do valor passado para cada parâmetro deve corresponder à definição do parâmetro.
Permissões
Somente o logon da entidade de segurança no nível do servidor criado pelo processo de provisionamento ou uma entidade de identidade da ID do Microsoft Entra atribuída como administrador pode criar ou modificar regras de firewall no nível do servidor. O usuário deve estar conectado ao master
banco de dados para executar sp_set_firewall_rule
o .
Exemplos
O código a seguir cria uma configuração de firewall no nível de servidor chamada Allow Azure
que habilita o acesso a partir do Azure. Execute o script a seguir no banco de dados virtual master
.
-- Enable Azure connections.
EXEC sp_set_firewall_rule N'Allow Azure', '0.0.0.0', '0.0.0.0';
O código a seguir cria uma configuração de firewall de nível de servidor chamada Example setting 1
somente para o endereço IP 0.0.0.2
. Em seguida, o procedimento armazenado sp_set_firewall_rule
é chamado novamente para atualizar o endereço IP final para 0.0.0.4
, nessa configuração de firewall. Isso cria um intervalo que permite que os endereços IP 0.0.0.2
, 0.0.0.3
e 0.0.0.4
acessem o servidor.
-- Create server-level firewall setting for only IP 0.0.0.2
EXEC sp_set_firewall_rule N'Example setting 1', '0.0.0.2', '0.0.0.2';
-- Update server-level firewall setting to create a range of allowed IP addresses
EXEC sp_set_firewall_rule N'Example setting 1', '0.0.0.2', '0.0.0.4';