Condividi tramite


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.0a .

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.

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';