sp_set_firewall_rule (Azure SQL Database)

S’applique à :Azure SQL DatabaseAzure Synapse Analytics

Crée ou met à jour les paramètres de pare-feu au niveau du serveur pour votre serveur SQL Database. Cette procédure stockée est disponible uniquement dans la master base de données pour la connexion du principal au niveau du serveur ou le principal Microsoft Entra ID (anciennement Azure Active Directory).

Syntaxe

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

Arguments

[ @name = ] N’name'

Le nom utilisé pour décrire et distinguer le paramètre de pare-feu au niveau serveur. @name est nvarchar(128).

[ @start_ip_address = ] 'start_ip_address'

Adresse IP la plus basse dans la plage de paramètres de pare-feu au niveau serveur. @start_ip_address est varchar(50). Les adresses IP supérieures ou égales à celle-ci peuvent essayer de se connecter au serveur SQL Database. L"adresse IP la plus basse possible est 0.0.0.0.

[ @end_ip_address = ] 'end_ip_address'

Adresse IP la plus élevée dans la plage de paramètres de pare-feu au niveau serveur. @end_ip_address est varchar(50). Les adresses IP inférieures ou égales à celle-ci peuvent essayer de se connecter au serveur SQL Database. L"adresse IP la plus élevée possible est 255.255.255.255.

Les tentatives de connexion Azure sont autorisées lorsque ce champ et le champ @start_ip_address sont égaux 0.0.0.0.

Notes

Les noms des paramètres de pare-feu au niveau serveur doivent être uniques. Si le nom du paramètre fourni pour la procédure stockée existe déjà dans la table des paramètres du pare-feu, les adresses IP de début et de fin sont mises à jour. Sinon, un nouveau paramètre de pare-feu au niveau du serveur est créé.

Lorsque vous ajoutez un paramètre de pare-feu de niveau serveur et que les adresses IP de début et de fin sont égales à 0.0.0.0, vous activez l'accès à votre serveur SQL Database à partir d’Azure. Fournissez une valeur au paramètre de nom qui vous aide à mémoriser le paramètre de pare-feu au niveau du serveur.

Dans SQL Database, les données de connexion exigées pour authentifier une connexion et les règles de pare-feu de niveau serveur sont temporairement mises en cache dans chaque base de données. Ce cache est régulièrement actualisé. Pour forcer une actualisation du cache d’authentification et garantir qu’une base de données a la version la plus récente de la table de connexions, exécutez DBCC FLUSHAUTHCACHE (Transact-SQL).

Il s’agit d’une procédure stockée étendue, de sorte que le type de données de la valeur transmise pour chaque paramètre doit correspondre à la définition de paramètre.

Autorisations

Seule la connexion du principal au niveau du serveur créée par le processus d’approvisionnement ou un principal d’ID Microsoft Entra affecté en tant qu’administrateur peut créer ou modifier des règles de pare-feu au niveau du serveur. L’utilisateur doit être connecté à la master base de données à exécuter sp_set_firewall_rule.

Exemples

Le code suivant crée un paramètre de pare-feu de niveau serveur nommé Allow Azure qui active l'accès à partir de Azure. Exécutez le script suivant dans la base de données virtuelle master .

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

Le code suivant crée un paramètre de pare-feu au niveau serveur appelé Example setting 1 uniquement pour l'adresse IP 0.0.0.2. Puis, la procédure stockée sp_set_firewall_rule est rappelée pour définir l’adresse IP de fin sur 0.0.0.4, dans ce paramètre de pare-feu. Cela crée une plage, qui permet aux adresses IP 0.0.0.2, 0.0.0.3 et 0.0.0.4 d’accéder au serveur.

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