Compartir a través de


sp_set_firewall_rule (Azure SQL Database)

Se aplica a: Azure SQL Database Azure Synapse Analytics

Crea o actualiza la configuración del firewall de nivel de servidor del servidor de SQL Database. Este procedimiento almacenado solo está disponible en la master base de datos para el inicio de sesión principal de nivel de servidor o la entidad de seguridad de Microsoft Entra asignada (anteriormente Azure Active Directory).

Sintaxis

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

Argumentos

[ @name = ] N'name'

El nombre utilizado para describir y distinguir la configuración del firewall de nivel de servidor. @name es nvarchar(128).

[ @start_ip_address = ] 'start_ip_address'

La dirección IP más baja en el intervalo de la configuración del firewall de nivel de servidor. @start_ip_address es varchar(50). Las direcciones IP iguales o superiores a esta pueden intentar conectarse al servidor de SQL Database. La dirección IP más baja posible es 0.0.0.0.

[ @end_ip_address = ] 'end_ip_address'

La dirección IP más alta en el intervalo de la configuración del firewall de nivel de servidor. @end_ip_address es varchar(50). Las direcciones IP iguales o inferiores a esta pueden intentar conectarse al servidor de SQL Database. La dirección IP más alta posible es 255.255.255.255.

Los intentos de conexión de Azure se permiten cuando este campo y el campo @start_ip_address igual a 0.0.0.0.

Comentarios

Los nombres de la configuración del firewall de nivel de servidor deben ser únicos. Si el nombre de la configuración proporcionada para el procedimiento almacenado ya existe en la tabla de configuración del firewall, se actualizan las direcciones IP iniciales y finales. De lo contrario, se crea una nueva configuración de firewall de nivel de servidor.

Cuando agrega una configuración de firewall a nivel de servidor donde las direcciones IP inicial y final son iguales a 0.0.0.0, habilite el acceso a su servidor de base de datos SQL desde Azure. Proporcione un valor al parámetro name que le ayude a recordar para qué sirve la configuración de firewall de nivel de servidor.

En SQL Database, los datos de inicio de sesión necesarios para autenticar una conexión y reglas de firewall de nivel de servidor se almacenan temporalmente en caché en cada base de datos. Esta caché se actualiza regularmente. Para forzar una actualización de la caché de autenticación y garantizar que una base de datos tenga la versión más reciente de la tabla de inicios de sesión, ejecute DBCC FLUSHAUTHCACHE.

Se trata de un procedimiento almacenado extendido, por lo que el tipo de datos del valor pasado para cada parámetro debe coincidir con la definición de parámetro.

Permisos

Solo el inicio de sesión de entidad de seguridad de nivel de servidor creado por el proceso de aprovisionamiento o una entidad de seguridad de id. de Microsoft Entra asignada como administrador puede crear o modificar reglas de firewall de nivel de servidor. El usuario debe estar conectado a la master base de datos para ejecutar sp_set_firewall_rule.

Ejemplos

En el código siguiente se crea una configuración de firewall de nivel de servidor denominada Allow Azure que habilita el acceso desde Azure. Ejecute el siguiente script en la base de datos virtual master .

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

El código siguiente crea una configuración del firewall de nivel de servidor denominada Example setting 1 solo para la dirección IP 0.0.0.2. Luego, se vuelve a llamar al procedimiento almacenado sp_set_firewall_rule para actualizar la dirección IP final a 0.0.0.4 en esa configuración de firewall. Esto crea un rango que permite que las direcciones IP 0.0.0.2, 0.0.0.3 y 0.0.0.4 accedan al 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';