다음을 통해 공유


CREATE APPLICATION ROLE(Transact-SQL)

적용 대상:SQL ServerAzure SQL 데이터베이스Azure SQL Managed Instance

현재 데이터베이스에 애플리케이션 역할을 추가합니다.

Transact-SQL 구문 표기 규칙

구문

CREATE APPLICATION ROLE application_role_name
    WITH PASSWORD = 'password' [ , DEFAULT_SCHEMA = schema_name ]

인수

application_role_name

애플리케이션 역할의 이름을 지정합니다. 이 이름은 데이터베이스의 다른 보안 주체를 참조하는 데 사용된 이름이 아니어야 합니다.

PASSWORD = 'password'

데이터베이스 사용자가 애플리케이션 역할을 활성화하는 데 사용할 암호를 지정합니다. 항상 강력한 암호를 사용해야 합니다. password 는 SQL Server 인스턴스를 실행하는 컴퓨터의 Windows 암호 정책 요구 사항을 충족해야 합니다.

DEFAULT_SCHEMA = schema_name

서버가 이 역할에 대한 개체의 이름을 확인할 때 검색할 첫 번째 스키마를 지정합니다. DEFAULT_SCHEMA 정의되지 않은 상태로 두면 애플리케이션 역할이 기본 스키마로 사용됩니다 dbo . schema_name 데이터베이스에 없는 스키마일 수 있습니다.

설명

중요

애플리케이션 역할 암호가 설정된 경우 암호 복잡성이 검사됩니다. 애플리케이션 역할을 호출하는 애플리케이션은 해당 암호를 저장해야 합니다. 애플리케이션 역할 암호는 항상 암호화된 상태로 저장되어야 합니다.

애플리케이션 역할은 sys.database_principals 카탈로그 뷰에 표시됩니다.

애플리케이션 역할을 사용하는 방법은 애플리케이션 역할을 참조하십시오.

비고

스키마는 데이터베이스 사용자와 동일하지 않습니다. 시스템 카탈로그 뷰를 사용하여 데이터베이스 사용자와 스키마 간의 차이점을 식별합니다.

SQL Server 2012(11.x)부터 SQL Server 및 Azure SQL DB는 32비트 임의 및 고유한 솔트와 결합된 SHA-512 해시를 사용했습니다. 이 방법을 사용하면 공격자가 암호를 추론할 수 없도록 통계적으로 사용할 수 없습니다.

SQL Server 2025(17.x) 미리 보기에는 PBKDF( 암호 기반 키 파생 함수 )라고도 하는 반복된 해시 알고리즘 RFC2898 도입되었습니다. 이 알고리즘은 여전히 SHA-512를 사용하지만 암호를 여러 번 해시(100,000회 반복)하여 무차별 암호 대입 공격 속도가 크게 느려집니다. 이 변경은 진화하는 보안 위협에 대응하여 암호 보호를 강화하고 고객이 NIST SP 800-63b 지침을 준수하는 데 도움이 됩니다.

사용 권한

데이터베이스에 대한 ALTER ANY APPLICATION ROLE 권한이 필요합니다.

예제

다음 예에서는 암호 weekly_receipts 및 기본 스키마로 987Gbv876sPYY5m23가 있는 Sales라는 애플리케이션 역할을 만듭니다.

CREATE APPLICATION ROLE weekly_receipts
    WITH PASSWORD = '987G^bv876sPY)Y5m23'
    , DEFAULT_SCHEMA = Sales;
GO