CREATE ROLE(Transact-SQL)CREATE ROLE (Transact-SQL)

이 항목은 다음에 적용됩니다. 예SQL Server(2008부터)예Azure SQL Database예Azure SQL Data Warehouse 예병렬 데이터 웨어하우스 THIS TOPIC APPLIES TO: yesSQL Server (starting with 2008)yesAzure SQL DatabaseyesAzure SQL Data Warehouse yesParallel Data Warehouse

현재 데이터베이스에 새 데이터베이스 역할을 만듭니다.Creates a new database role in the current database.

항목 링크 아이콘 Transact-SQL 구문 규칙Topic link icon Transact-SQL Syntax Conventions

구문Syntax

CREATE ROLE role_name [ AUTHORIZATION owner_name ]  

인수Arguments

role_namerole_name
만들 역할의 이름입니다.Is the name of the role to be created.

권한 부여 owner_nameAUTHORIZATION owner_name
새 역할을 소유할 데이터베이스 사용자나 역할입니다.Is the database user or role that is to own the new role. 사용자를 지정하지 않으면 CREATE ROLE을 실행하는 사용자가 역할을 소유합니다.If no user is specified, the role will be owned by the user that executes CREATE ROLE.

주의Remarks

역할은 데이터베이스 수준 보안 개체입니다.Roles are database-level securables. 역할을 만든 후 GRANT, DENY 및 REVOKE를 사용하여 역할의 데이터베이스 수준 사용 권한을 구성합니다.After you create a role, configure the database-level permissions of the role by using GRANT, DENY, and REVOKE. 데이터베이스 역할에 구성원을 추가 하려면 사용 하 여 ALTER role( Transact SQL ) .To add members to a database role, use ALTER ROLE (Transact-SQL). 자세한 내용은 참조 데이터베이스 수준 역할합니다.For more information, see Database-Level Roles.

데이터베이스 역할은 sys.database_role_members 및 sys.database_principals 카탈로그 뷰에 표시됩니다.Database roles are visible in the sys.database_role_members and sys.database_principals catalog views.

권한 시스템 디자인에 대한 정보는 Getting Started with Database Engine Permissions을(를) 참조하세요.For information about designing a permissions system, see Getting Started with Database Engine Permissions.

주의

SQL Server 2005부터 스키마 동작이 변경되었습니다.Beginning with SQL Server 2005, the behavior of schemas changed. 이에 따라 스키마가 데이터베이스 사용자와 같다고 가정하는 코드에서 올바른 결과가 반환되지 않을 수 있습니다.As a result, code that assumes that schemas are equivalent to database users may no longer return correct results. 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 문이 사용된 적이 있는 데이터베이스에서는 사용할 수 없습니다.Old catalog views, including sysobjects, should not be used in a database in which any of the following DDL statements have ever been used: 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. 이러한 데이터베이스에서는 새 카탈로그 뷰를 대신 사용해야 합니다.In such databases you must instead use the new catalog views. 새 카탈로그 뷰에서는 SQL Server 2005에 도입된 보안 주체와 스키마의 분리를 고려하고 있습니다.The new catalog views take into account the separation of principals and schemas that was introduced in SQL Server 2005. 카탈로그 뷰에 대한 자세한 내용은 카탈로그 뷰(Transact-SQL)를 참조하세요.For more information about catalog views, see Catalog Views (Transact-SQL).

PermissionsPermissions

필요한 CREATE ROLE 의 구성원 자격이 있거나 데이터베이스에 대 한 권한이 db_securityadmin 고정된 데이터베이스 역할입니다.Requires CREATE ROLE permission on the database or membership in the db_securityadmin fixed database role. 사용 하는 경우는 권한 부여 옵션을 다음 권한은 필요 합니다.When you use the AUTHORIZATION option, the following permissions are also required:

  • 다른 사용자에게 역할의 소유권을 할당하려면 해당 사용자에 대한 IMPERSONATE 권한이 필요합니다.To assign ownership of a role to another user, requires IMPERSONATE permission on that user.

  • 다른 역할에 역할의 소유권을 할당하려면 역할을 받는 역할의 멤버 자격이나 해당 역할에 대한 ALTER 권한이 필요합니다.To assign ownership of a role to another role, requires membership in the recipient role or ALTER permission on that role.

  • 응용 프로그램 역할에 역할의 소유권을 할당하려면 응용 프로그램 역할에 대한 ALTER 권한이 필요합니다.To assign ownership of a role to an application role, requires ALTER permission on the application role.

Examples

다음 예에서는 모두 AdventureWorks 데이터베이스를 사용 합니다.The following examples all use the AdventureWorks database.

1.A. 데이터베이스 사용자가 소유하는 데이터베이스 역할 만들기Creating a database role that is owned by a database user

다음 예에서는 buyers 사용자가 소유하는 BenMiller 데이터베이스 역할을 만듭니다.The following example creates the database role buyers that is owned by user BenMiller.

CREATE ROLE buyers AUTHORIZATION BenMiller;  
GO  

2.B. 고정 데이터베이스 역할이 소유하는 데이터베이스 역할 만들기Creating a database role that is owned by a fixed database role

다음 예에서는 auditors 고정 데이터베이스 역할이 소유하는 db_securityadmin 데이터베이스 역할을 만듭니다.The following example creates the database role auditors that is owned the db_securityadmin fixed database role.

CREATE ROLE auditors AUTHORIZATION db_securityadmin;  
GO  

관련 항목:See Also

보안 주체(데이터베이스 엔진) Principals (Database Engine)
ALTER role( Transact SQL ) ALTER ROLE (Transact-SQL)
DROP role( Transact SQL ) DROP ROLE (Transact-SQL)
EVENTDATA(Transact-SQL) EVENTDATA (Transact-SQL)
sp_addrolemember(Transact-SQL) sp_addrolemember (Transact-SQL)
sys.database_role_members(Transact-SQL) sys.database_role_members (Transact-SQL)
sys.database_principals(Transact-SQL) sys.database_principals (Transact-SQL)
데이터베이스 엔진 권한 시작Getting Started with Database Engine Permissions