GRANT 유형 사용 권한(Transact-SQL)
적용 대상: SQL Server
Azure SQL Database
Azure SQL Managed Instance
유형에 대한 사용 권한을 부여합니다.
Syntax
GRANT permission [ ,...n ] ON TYPE :: [ schema_name . ] type_name
TO <database_principal> [ ,...n ]
[ WITH GRANT OPTION ]
[ AS <database_principal> ]
<database_principal> ::=
Database_user
| Database_role
| Application_role
| Database_user_mapped_to_Windows_User
| Database_user_mapped_to_Windows_Group
| Database_user_mapped_to_certificate
| Database_user_mapped_to_asymmetric_key
| Database_user_with_no_login
참고 항목
SQL Server 2014(12.x) 이전 버전의 Transact-SQL 구문을 보려면 이전 버전 설명서를 참조하세요.
인수
permission
유형에 대해 부여할 수 있는 사용 권한을 지정합니다. 사용 권한 목록은 이 항목의 뒤에 나오는 주의 섹션을 참조하세요.
ON TYPE :: [ schema_name. ] type_name
사용 권한을 부여할 유형을 지정합니다. 범위 한정자( :: )가 필요합니다. schema_name을 지정하지 않은 경우 기본 스키마가 사용됩니다. schema_name을 지정한 경우 스키마 범위 한정자( . )가 필요합니다.
<database_principal>에 대해 사용 권한을 부여할 보안 주체를 지정합니다.
WITH GRANT OPTION
지정된 사용 권한을 다른 보안 주체에게 부여할 수 있는 권한도 이 보안 주체에 제공됨을 나타냅니다.
AS <database_principal> 이 쿼리를 실행하는 보안 주체가 사용 권한을 부여하는 권한을 부여할 수 있는 다른 보안 주체를 지정합니다.
Database_user
데이터베이스 사용자를 지정합니다.
Database_role
데이터베이스 역할을 지정합니다.
Application_role
적용 대상: SQL Server 2008(10.0.x) 이상, SQL Database
애플리케이션 역할을 지정합니다.
Database_user_mapped_to_Windows_User
적용 대상: SQL Server 2008(10.0.x) 이상
Windows 사용자로 매핑된 데이터베이스 사용자를 지정합니다.
Database_user_mapped_to_Windows_Group
적용 대상: SQL Server 2008(10.0.x) 이상
Windows 그룹으로 매핑된 데이터베이스 사용자를 지정합니다.
Database_user_mapped_to_certificate
적용 대상: SQL Server 2008(10.0.x) 이상
인증서로 매핑된 데이터베이스 사용자를 지정합니다.
Database_user_mapped_to_asymmetric_key
적용 대상: SQL Server 2008(10.0.x) 이상
비대칭 키로 매핑된 데이터베이스 사용자를 지정합니다.
Database_user_with_no_login
해당 서버 수준의 보안 주체가 없는 데이터베이스 사용자를 지정합니다.
설명
유형은 사용 권한 계층에서 해당 유형의 부모인 스키마에 포함된 스키마 수준 보안 개체입니다.
중요
GRANT, DENY, 및 REVOKE 권한은 시스템 형식에 적용되지 않습니다. 사용자 정의 형식에는 권한을 부여할 수 있습니다. 사용자 정의 형식에 대한 자세한 정보는 SQL Server의 사용자 정의 형식 작업을 참조합니다.
다음 표에는 유형에 대해 부여할 수 있는 가장 제한적인 특정 사용 권한이 의미상 이러한 사용 권한을 포함하는 보다 일반적인 사용 권한과 함께 나열되어 있습니다.
유형 사용 권한 | 유형 사용 권한에 포함된 사용 권한 | 스키마 사용 권한에 포함된 사용 권한 |
---|---|---|
CONTROL | CONTROL | CONTROL |
CREATE 문을 실행하기 전에 | CONTROL | CREATE 문을 실행하기 전에 |
REFERENCES | CONTROL | REFERENCES |
TAKE OWNERSHIP | CONTROL | CONTROL |
VIEW DEFINITION | CONTROL | VIEW DEFINITION |
사용 권한
사용 권한을 부여한 사용자 또는 AS 옵션으로 지정한 보안 주체에게 GRANT OPTION을 통한 사용 권한이 있거나 부여할 사용 권한을 포함하는 상위 사용 권한이 있어야 합니다.
AS 옵션을 사용하는 경우 다음과 같은 추가 요구 사항이 적용됩니다.
AS | 필요한 추가 사용 권한 |
---|---|
데이터베이스 사용자 | 사용자에 대한 IMPERSONATE 사용 권한, db_securityadmin 고정 데이터베이스 역할의 멤버 자격, db_owner 고정 데이터베이스 역할의 멤버 자격 또는 sysadmin 고정 서버 역할의 멤버 자격. |
Windows 로그인에 매핑된 데이터베이스 사용자 | 사용자에 대한 IMPERSONATE 사용 권한, db_securityadmin 고정 데이터베이스 역할의 멤버 자격, db_owner 고정 데이터베이스 역할의 멤버 자격 또는 sysadmin 고정 서버 역할의 멤버 자격. |
Windows 그룹에 매핑된 데이터베이스 사용자 | Windows 그룹의 멤버 자격, db_securityadmin 고정 데이터베이스 역할의 멤버 자격, db_owner 고정 데이터베이스 역할의 멤버 자격 또는 sysadmin 고정 서버 역할의 멤버 자격. |
인증서에 매핑된 데이터베이스 사용자 | db_securityadmin 고정 데이터베이스 역할의 멤버 자격, db_owner 고정 데이터베이스 역할의 멤버 자격 또는 sysadmin 고정 서버 역할의 멤버 자격. |
비대칭 키에 매핑된 데이터베이스 사용자 | db_securityadmin 고정 데이터베이스 역할의 멤버 자격, db_owner 고정 데이터베이스 역할의 멤버 자격 또는 sysadmin 고정 서버 역할의 멤버 자격. |
서버 보안 주체에 매핑되지 않은 데이터베이스 사용자 | 사용자에 대한 IMPERSONATE 사용 권한, db_securityadmin 고정 데이터베이스 역할의 멤버 자격, db_owner 고정 데이터베이스 역할의 멤버 자격 또는 sysadmin 고정 서버 역할의 멤버 자격. |
데이터베이스 역할 | 역할에 대한 ALTER 권한, db_securityadmin 고정 데이터베이스 역할의 멤버 자격, db_owner 고정 데이터베이스 역할의 멤버 자격 또는 sysadmin 고정 서버 역할의 멤버 자격. |
애플리케이션 역할 | 역할에 대한 ALTER 권한, db_securityadmin 고정 데이터베이스 역할의 멤버 자격, db_owner 고정 데이터베이스 역할의 멤버 자격 또는 sysadmin 고정 서버 역할의 멤버 자격. |
예제
다음 예에서는 VIEW DEFINITION
을 사용하여 사용자 GRANT OPTION
에 대해 사용자 정의 형식 PhoneNumber
에 대한 KhalidR
권한을 부여합니다. PhoneNumber
는 Telemarketing
스키마에 있습니다.
GRANT VIEW DEFINITION ON TYPE::Telemarketing.PhoneNumber
TO KhalidR WITH GRANT OPTION;
GO
참고 항목
DENY 유형 사용 권한(Transact-SQL)
REVOKE 유형 사용 권한(Transact-SQL)
CREATE TYPE(Transact-SQL)
사용 권한(데이터베이스 엔진)
보안 개체
보안 주체(데이터베이스 엔진)