sp_set_firewall_rule (Banco de Dados SQL do Azure)

Aplica-se a: Base de Dados SQL do AzureAzure Synapse Analytics

Cria ou atualiza as definições do firewall ao nível do servidor do seu servidor de base de dados SQL. Este procedimento armazenado só está disponível na master base de dados até ao login principal ao nível do servidor ou ao principal atribuído ao Microsoft Entra ID (anteriormente Azure Active Directory).

Syntax

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

Arguments

[ @name = ] N'nome'

O nome usado para descrever e distinguir a definição do firewall ao nível do servidor. @name é Nvarchar(128).

[ @start_ip_address = ] 'start_ip_address'

O endereço IP mais baixo no intervalo da definição de firewall ao nível do servidor. @start_ip_address é Varchar (50). Os endereços IP iguais ou superiores a este podem tentar ligar-se ao servidor Base 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 elevado no intervalo da definição da firewall ao nível do servidor. @end_ip_address é Varchar(50). Os endereços IP iguais ou inferiores a este podem tentar ligar ao servidor Base de Dados SQL. O endereço IP mais elevado possível é 255.255.255.255.

Azure tentativas de ligação são permitidas quando tanto este campo como o campo @start_ip_address são iguais 0.0.0.0a .

Remarks

Os nomes das definições do firewall ao nível do servidor devem ser únicos. Se o nome da definição fornecida para o procedimento armazenado já existir na tabela de definições do firewall, os endereços IP inicial e final são atualizados. Caso contrário, é criada uma nova configuração de firewall ao nível do servidor.

Quando adiciona uma definição de firewall ao nível do servidor onde os endereços IP de início e fim são iguais a 0.0.0.0, permite o acesso ao seu servidor de base de dados SQL a partir do Azure. Fornece um valor ao parâmetro de nome que te ajude a lembrar para que serve a definição do firewall ao nível do servidor.

No Banco de dados SQL, os dados de logon necessários para autenticar uma conexão e as regras de firewall no nível de servidor são temporariamente armazenados em cache em cada banco de dados. Esta cache é atualizada periodicamente. Para forçar uma atualização do cache de autenticação e certificar-se de que um banco de dados tem a versão mais recente da tabela de logins, execute DBCC FLUSHAUTHCACHE.

Este é um procedimento armazenado alargado, pelo que o tipo de dado do valor passado para cada parâmetro deve corresponder à definição do parâmetro.

Permissions

Apenas o login principal ao nível do servidor criado pelo processo de provisionamento ou um principal do Microsoft Entra ID atribuído como administrador pode criar ou modificar regras de firewall ao nível do servidor. O utilizador deve estar ligado à master base de dados para executar sp_set_firewall_rule.

Examples

O código seguinte cria uma configuração de firewall ao nível do servidor chamada Allow Azure que permite o acesso a partir do Azure. Execute o seguinte script na base de dados virtual master .

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

O código seguinte cria uma configuração de firewall ao nível do servidor chamada Example setting 1 apenas para o endereço 0.0.0.2IP . Depois, o sp_set_firewall_rule procedimento armazenado é chamado novamente para atualizar o endereço IP final para 0.0.0.4, nessa configuração de firewall. Isto cria um intervalo que permite aos endereços 0.0.0.2IP , 0.0.0.3, e 0.0.0.4 aceder ao servidor.

-- Create server-level firewall setting for only IP 0.0.0.2
EXECUTE 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
EXECUTE sp_set_firewall_rule N'Example setting 1', '0.0.0.2', '0.0.0.4';