다음을 통해 공유


CREATE APPLICATION ROLE(Transact-SQL)

적용 대상: SQL Server Azure 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 2005부터 스키마 동작이 변경되었습니다. 이에 따라 스키마가 데이터베이스 사용자와 같다고 가정하는 코드에서 올바른 결과가 반환되지 않을 수 있습니다. sysobjects를 비롯한 이전 카탈로그 뷰는 CREATE SCHEMA, ALTER SCHEMA, DROP SCHEMA, CREATE USER, ALTER USER, DROP USER, CREATE ROLE, ALTER ROLE, DROP ROLE, CREATE APPROLE, ALTER APPROLE, DROP APPROLE, ALTER AUTHORIZATION 중 하나의 DDL 문이 사용된 적이 있는 데이터베이스에서는 사용할 수 없습니다. 이러한 데이터베이스에서는 새 카탈로그 뷰를 대신 사용해야 합니다. 새 카탈로그 뷰에서는 SQL Server 2005에 도입된 보안 주체와 스키마의 분리를 고려하고 있습니다. 카탈로그 뷰에 대한 자세한 내용은 카탈로그 뷰(Transact-SQL)를 참조하십시오.

사용 권한

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

예제

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

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

참고 항목

애플리케이션 역할
sp_setapprole(Transact-SQL)
ALTER APPLICATION ROLE(Transact-SQL)
DROP APPLICATION ROLE(Transact-SQL)
암호 정책
EVENTDATA(Transact-SQL)