sp_set_firewall_rule (Database di SQL Azure)
Si applica a: database SQL di Azure Azure Synapse Analytics
Crea o aggiorna le impostazioni del firewall a livello di server per il server di database SQL. Questa stored procedure è disponibile solo nel master
database all'entità di accesso a livello di server o all'entità di sicurezza Microsoft Entra ID (in precedenza Azure Active Directory).
Sintassi
sp_set_firewall_rule
[ @name = ] N'name'
, [ @start_ip_address = ] 'start_ip_address'
, [ @end_ip_address = ] 'end_ip_address'
[ ; ]
Argomenti
[ @name = ] N'name'
Nome utilizzato per descrivere e distinguere l'impostazione del firewall a livello di server. @name è nvarchar(128).
[ @start_ip_address = ] 'start_ip_address'
L'indirizzo IP più basso nell'intervallo dell'impostazione del firewall a livello di server. @start_ip_address è varchar(50). Gli indirizzi IP uguali o maggiori di questo possono tentare la connessione al server di database SQL. L'indirizzo IP più basso possibile è 0.0.0.0
.
[ @end_ip_address = ] 'end_ip_address'
L'indirizzo IP più alto nell'intervallo dell'impostazione del firewall a livello di server. @end_ip_address è varchar(50). Gli indirizzi IP uguali o minori di questo possono tentare la connessione al server di database SQL. L'indirizzo IP più alto possibile è 255.255.255.255
.
I tentativi di connessione di Azure sono consentiti quando sia questo campo che il campo @start_ip_address sono uguali 0.0.0.0
a .
Commenti
I nomi delle impostazioni del firewall a livello di server devono essere univoci. Se il nome dell'impostazione specificata per la stored procedure esiste già nella tabella delle impostazioni del firewall, gli indirizzi IP iniziali e finali vengono aggiornati. In caso contrario, viene creata una nuova impostazione del firewall a livello di server.
Quando si aggiunge un'impostazione del firewall a livello di server in cui gli indirizzi IP iniziale e finale sono uguali a 0.0.0.0
, si abilita l'accesso al server di database SQL da Azure. Specificare un valore per il parametro name che consente di ricordare l'impostazione del firewall a livello di server.
Nel database SQL i dati dell'account di accesso necessari per autenticare una connessione e le regole del firewall a livello di server vengono memorizzati temporaneamente nella cache in ogni database. Questa cache viene aggiornata periodicamente. Per forzare un aggiornamento della cache di autenticazione e assicurarsi che un database abbia la versione più recente della tabella di account di accesso, eseguire DBCC FLUSHAUTHCACHE (Transact-SQL).
Questa è una stored procedure estesa, quindi il tipo di dati del valore passato per ogni parametro deve corrispondere alla definizione del parametro.
Autorizzazioni
Solo l'account di accesso dell'entità a livello di server creato dal processo di provisioning o un'entità ID Di Microsoft Entra assegnata come amministratore può creare o modificare le regole del firewall a livello di server. L'utente deve essere connesso al master
database per eseguire sp_set_firewall_rule
.
Esempi
Il codice seguente consente di creare un'impostazione del firewall a livello di server denominata Allow Azure
che abilita l'accesso da Azure. Eseguire lo script seguente nel database virtuale master
.
-- Enable Azure connections.
EXEC sp_set_firewall_rule N'Allow Azure', '0.0.0.0', '0.0.0.0';
Il codice seguente consente di creare un'impostazione del firewall a livello di server denominata Example setting 1
solo per l'indirizzo IP 0.0.0.2
. Quindi, la stored procedure sp_set_firewall_rule
viene nuovamente chiamata per aggiornare l'indirizzo IP finale in 0.0.0.4
nell'impostazione del firewall. In questo modo viene creato un intervallo, che consente agli indirizzi IP 0.0.0.2
, 0.0.0.3
e 0.0.0.4
di accedere al server.
-- 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';