sp_set_firewall_rule(Azure SQL Database)

적용 대상:Azure SQL DatabaseAzure Synapse Analytics

SQL Database 서버에 대한 서버 수준 방화벽 설정을 만들거나 업데이트합니다. 이 저장 프로시저는 데이터베이스에서 master 서버 수준 보안 주체 로그인 또는 할당된 Microsoft Entra ID(이전의 Azure Active Directory) 보안 주체에만 사용할 수 있습니다.

구문

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

인수

[ @name = ] N'name'

서버 수준의 방화벽 설정을 설명하고 구분하는 데 사용된 이름입니다. @name nvarchar(128)입니다.

[ @start_ip_address = ] 'start_ip_address'

서버 수준 방화벽 설정 범위에서 가장 낮은 IP 주소입니다. @start_ip_address varchar(50)입니다. 이보다 크거나 같은 IP 주소는 SQL Database서버에 연결을 시도할 수 있습니다. 가능한 가장 낮은 IP 주소는 0.0.0.0입니다.

[ @end_ip_address = ] 'end_ip_address'

서버 수준 방화벽 설정 범위에서 가장 높은 IP 주소입니다. @end_ip_address varchar(50)입니다. 이보다 작거나 같은 IP 주소는 SQL Database 서버에 연결을 시도할 수 있습니다. 가능한 가장 높은 IP 주소는 255.255.255.255입니다.

이 필드와 @start_ip_address 필드가 모두 같 0.0.0.0으면 Azure 연결 시도가 허용됩니다.

설명

서버 수준 방화벽 설정 이름은 고유해야 합니다. 저장 프로시저에 대해 제공된 설정의 이름이 방화벽 설정 테이블에 이미 있는 경우 시작 및 종료 IP 주소가 업데이트됩니다. 그렇지 않으면 새 서버 수준 방화벽 설정이 만들어집니다.

시작 및 끝 IP 주소가 0.0.0.0인 서버 수준 방화벽 설정을 추가하면 Azure에서 SQL Database 서버에 액세스할 수 있습니다. 이름 매개 변수에 서버 수준 방화벽 설정이 무엇인지 기억하는 데 도움이 되는 값을 제공합니다.

SQL Database에서 연결을 인증하는 데 필요한 로그인 데이터 및 서버 수준 방화벽 규칙은 각 데이터베이스에 일시적으로 캐시됩니다. 이 캐시는 주기적으로 새로 고쳐집니다. 인증 캐시 새로 고침을 강제 실행하고 데이터베이스에 최신 버전의 로그인 테이블이 있는지 확인하려면 DBCC FLUSHAUTHCACHE(Transact-SQL)을 실행합니다.

이것은 확장 저장 프로시저이므로 각 매개 변수에 대해 전달된 값의 데이터 유형이 매개 변수 정의와 일치해야 합니다.

사용 권한

프로비전 프로세스에서 만든 서버 수준 보안 주체 로그인 또는 관리자로 할당된 Microsoft Entra ID 보안 주체만 서버 수준 방화벽 규칙을 만들거나 수정할 수 있습니다. 을 실행sp_set_firewall_rule하려면 사용자가 데이터베이스에 master 연결되어 있어야 합니다.

예제

다음 코드는 Azure에서 액세스를 허용하는 Allow Azure라는 서버 수준 방화벽 설정을 만듭니다. 가상 master 데이터베이스에서 다음 스크립트를 실행합니다.

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

다음 코드는 Example setting 1 IP 주소에 대해서만 0.0.0.2이라는 서버 수준 방화벽 설정을 만듭니다. 그런 다음 sp_set_firewall_rule 저장 프로시저가 다시 호출되어 해당 방화벽 설정에서 끝 IP 주소를 0.0.0.4(으)로 업데이트합니다. 이렇게 하면 IP 주소 0.0.0.2, 0.0.0.30.0.0.4이(가) 서버에 액세스할 수 있는 범위가 생성됩니다.

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