다음을 통해 공유


sys.database_permissions(Transact-SQL)

데이터베이스에 있는 각 사용 권한이나 열 예외 권한에 대해 행을 반환합니다. 열에는 해당 개체 수준 사용 권한과는 다른 모든 사용 권한에 대한 행이 있습니다. 열 사용 권한이 해당 개체 사용 권한과 동일한 경우 이에 해당하는 행은 없으며 사용되는 실제 사용 권한은 개체 사용 권한입니다.

중요

열 수준 사용 권한은 동일한 엔터티의 개체 수준 사용 권한을 대체합니다.

적용 대상: SQL Server(SQL Server 2008 - 현재 버전), Windows Azure SQL 데이터베이스(최초 릴리스 - 현재 릴리스)

열 이름

데이터 형식

설명

클래스

tinyint

사용 권한이 있는 클래스를 식별합니다.

0 = 데이터베이스

1 = 개체 또는 열

3 = 스키마

4 = 데이터베이스 보안 주체

5 = 어셈블리

적용 대상: SQL Server 2008 - SQL Server 2014.

6 = 형식

10 = XML 스키마 컬렉션

적용 대상: SQL Server 2008부터 SQL Server 2014까지

15 = 메시지 유형

적용 대상: SQL Server 2008부터 SQL Server 2014까지

16 = 서비스 계약

적용 대상: SQL Server 2008부터 SQL Server 2014까지

17 = 서비스

적용 대상: SQL Server 2008부터 SQL Server 2014까지

18 = 원격 서비스 바인딩

적용 대상: SQL Server 2008부터 SQL Server 2014까지

19 = 경로

적용 대상: SQL Server 2008부터 SQL Server 2014까지

23 = 전체 텍스트 카탈로그

적용 대상: SQL Server 2008부터 SQL Server 2014까지

24 = 대칭 키

적용 대상: SQL Server 2008부터 SQL Server 2014까지

25 = 인증서

적용 대상: SQL Server 2008부터 SQL Server 2014까지

26 = 비대칭 키

적용 대상: SQL Server 2008부터 SQL Server 2014까지

class_desc

nvarchar(60)

사용 권한이 있는 클래스에 대한 설명입니다.

DATABASE

OBJECT_OR_COLUMN

SCHEMA

DATABASE_PRINCIPAL

ASSEMBLY

TYPE

XML_SCHEMA_COLLECTION

MESSAGE_TYPE

SERVICE_CONTRACT

SERVICE

REMOTE_SERVICE_BINDING

ROUTE

FULLTEXT_CATALOG

SYMMETRIC_KEY

CERTIFICATE

ASYMMETRIC_KEY

major_id

int

사용 권한이 존재하는 항목의 ID입니다. 이는 클래스에 따라 해석됩니다. 대부분의 경우 이 ID는 클래스가 나타내는 대상에 적용되는 ID입니다. 비표준 항목에 대한 해석 방식은 다음과 같습니다.

0 = 항상 0

1 = 개체 ID

음수 ID는 시스템 개체에 할당됩니다.

minor_id

int

사용 권한이 존재하는 항목의 보조 ID입니다. 이는 클래스에 따라 해석됩니다. 대부분의 경우 이 ID는 0이지만 다른 값인 경우 다음과 같습니다.

1 = 열인 경우 열 ID입니다. 그렇지 않고 개체인 경우 0입니다.

grantee_principal_id

int

사용 권한이 부여된 데이터베이스 보안 주체 ID입니다.

grantor_principal_id

int

사용 권한 부여자의 데이터베이스 보안 주체 ID입니다.

유형

char(4)

데이터베이스 사용 권한의 유형입니다. 사용 권한 유형 목록은 다음 표를 참조하십시오.

permission_name

nvarchar(128)

사용 권한 이름입니다.

state

char(1)

사용 권한 상태입니다.

D = 거부

R = 취소

G = 허용

W = Grant 옵션을 사용하여 허용

state_desc

nvarchar(60)

사용 권한 상태에 대한 설명입니다.

DENY

REVOKE

GRANT

GRANT_WITH_GRANT_OPTION

사용 권한 유형

사용 권한 이름

보안 개체에 적용되는 항목

AL

ALTER

APPLICATION ROLE, ASSEMBLY, ASYMMETRIC KEY, CERTIFICATE, CONTRACT, DATABASE, FULLTEXT CATALOG, MESSAGE TYPE, OBJECT, REMOTE SERVICE BINDING, ROLE, ROUTE, SCHEMA, SERVICE, SYMMETRIC KEY, USER, XML SCHEMA COLLECTION

ALAK

ALTER ANY ASYMMETRIC KEY

DATABASE

ALAR

ALTER ANY APPLICATION ROLE

DATABASE

ALAS

ALTER ANY ASSEMBLY

DATABASE

ALCF

ALTER ANY CERTIFICATE

DATABASE

ALDS

ALTER ANY DATASPACE

DATABASE

ALED

ALTER ANY DATABASE EVENT NOTIFICATION

DATABASE

ALFT

ALTER ANY FULLTEXT CATALOG

DATABASE

ALMT

ALTER ANY MESSAGE TYPE

DATABASE

ALRL

ALTER ANY ROLE

DATABASE

ALRT

ALTER ANY ROUTE

DATABASE

ALSB

ALTER ANY REMOTE SERVICE BINDING

DATABASE

ALSC

ALTER ANY CONTRACT

DATABASE

ALSK

ALTER ANY SYMMETRIC KEY

DATABASE

ALSM

ALTER ANY SCHEMA

DATABASE

ALSV

ALTER ANY SERVICE

DATABASE

ALTG

ALTER ANY DATABASE DDL TRIGGER

DATABASE

ALUS

ALTER ANY USER

DATABASE

AUTH

AUTHENTICATE

DATABASE

BADB

BACKUP DATABASE

DATABASE

BALO

BACKUP LOG

DATABASE

CL

CONTROL

APPLICATION ROLE, ASSEMBLY, ASYMMETRIC KEY, CERTIFICATE, CONTRACT, DATABASE, FULLTEXT CATALOG, MESSAGE TYPE, OBJECT, REMOTE SERVICE BINDING, ROLE, ROUTE, SCHEMA, SERVICE, SYMMETRIC KEY, TYPE, USER, XML SCHEMA COLLECTION

CO

CONNECT

DATABASE

CORP

CONNECT REPLICATION

DATABASE

CP

CHECKPOINT

DATABASE

CRAG

CREATE AGGREGATE

DATABASE

CRAK

CREATE ASYMMETRIC KEY

DATABASE

CRAS

CREATE ASSEMBLY

DATABASE

CRCF

CREATE CERTIFICATE

DATABASE

CRDB

CREATE DATABASE

DATABASE

CRDF

CREATE DEFAULT

DATABASE

CRED

CREATE DATABASE DDL EVENT NOTIFICATION

DATABASE

CRFN

CREATE FUNCTION

DATABASE

CRFT

CREATE FULLTEXT CATALOG

DATABASE

CRMT

CREATE MESSAGE TYPE

DATABASE

CRPR

CREATE PROCEDURE

DATABASE

CRQU

CREATE QUEUE

DATABASE

CRRL

CREATE ROLE

DATABASE

CRRT

CREATE ROUTE

DATABASE

CRRU

CREATE RULE

DATABASE

CRSB

CREATE REMOTE SERVICE BINDING

DATABASE

CRSC

CREATE CONTRACT

DATABASE

CRSK

CREATE SYMMETRIC KEY

DATABASE

CRSM

CREATE SCHEMA

DATABASE

CRSN

CREATE SYNONYM

DATABASE

CRSO

CREATE SEQUENCE

적용 대상: SQL Server 2012부터 SQL Server 2014까지

DATABASE

CRSV

CREATE SERVICE

DATABASE

CRTB

CREATE TABLE

DATABASE

CRTY

CREATE TYPE

DATABASE

CRVW

CREATE VIEW

DATABASE

CRXS

CREATE XML SCHEMA COLLECTION

적용 대상: SQL Server 2008부터 SQL Server 2014까지

DATABASE

DL

DELETE

DATABASE, OBJECT, SCHEMA

EX

EXECUTE

ASSEMBLY, DATABASE, OBJECT, SCHEMA, TYPE, XML SCHEMA COLLECTION

IM

IMPERSONATE

USER

IN

INSERT

DATABASE, OBJECT, SCHEMA

RC

RECEIVE

OBJECT

RF

REFERENCES

ASSEMBLY, ASYMMETRIC KEY, CERTIFICATE, CONTRACT, DATABASE, FULLTEXT CATALOG, MESSAGE TYPE, OBJECT, SCHEMA, SYMMETRIC KEY, TYPE, XML SCHEMA COLLECTION

SL

SELECT

DATABASE, OBJECT, SCHEMA

SN

SEND

SERVICE

SPLN

SHOWPLAN

DATABASE

SUQN

SUBSCRIBE QUERY NOTIFICATIONS

DATABASE

TO

TAKE OWNERSHIP

ASSEMBLY, ASYMMETRIC KEY, CERTIFICATE, CONTRACT, DATABASE, FULLTEXT CATALOG, MESSAGE TYPE, OBJECT, REMOTE SERVICE BINDING, ROLE, ROUTE, SCHEMA, SERVICE, SYMMETRIC KEY, TYPE, XML SCHEMA COLLECTION

UP

UPDATE

DATABASE, OBJECT, SCHEMA

VW

VIEW DEFINITION

APPLICATION ROLE, ASSEMBLY, ASYMMETRIC KEY, CERTIFICATE, CONTRACT, DATABASE, FULLTEXT CATALOG, MESSAGE TYPE, OBJECT, REMOTE SERVICE BINDING, ROLE, ROUTE, SCHEMA, SERVICE, SYMMETRIC KEY, TYPE, USER, XML SCHEMA COLLECTION

VWCT

VIEW CHANGE TRACKING

TABLE, SCHEMA

VWDS

VIEW DATABASE STATE

DATABASE

사용 권한

모든 사용자는 자산의 권한을 볼 수 있습니다. 다른 사용자에 대한 사용 권한을 보려면 로그인할 때 VIEW DEFINITION, ALTER ANY USER, 또는 사용 권한이 필요합니다. 사용자 정의 역할을 보려면 ALTER ANY ROLE 또는 역할(예: 공용)의 멤버 자격이 필요합니다.

사용자가 소유하고 있거나 사용 권한을 부여 받은 보안 개체에 대해서만 카탈로그 뷰의 메타데이터를 볼 수 있습니다. 자세한 내용은 메타데이터 표시 유형 구성을 참조하십시오.

A: 데이터베이스 보안 주체의 모든 사용 권한 나열

다음 쿼리는 데이터베이스 보안 주체에 대해 명시적으로 부여되거나 거부된 사용 권한을 나열합니다.

중요

고정 데이터베이스 역할의 사용 권한은 sys.database_permissions에 나타나지 않습니다.따라서 데이터베이스 보안 주체가 여기에 나열되지 않은 추가 사용 권한을 가질 수 있습니다.

SELECT pr.principal_id, pr.name, pr.type_desc, 
    pr.authentication_type_desc, pe.state_desc, pe.permission_name
FROM sys.database_principals AS pr
JOIN sys.database_permissions AS pe
    ON pe.grantee_principal_id = pr.principal_id;

B: 데이터베이스 내의 스키마 개체에 대한 사용 권한 나열

다음 쿼리는 sys.database_principals 및 sys.database_permissions를 sys.objects 및 sys.schemas에 조인하여 특정 스키마 개체에 부여되거나 거부된 사용 권한을 나열합니다.

SELECT pr.principal_id, pr.name, pr.type_desc, 
    pr.authentication_type_desc, pe.state_desc, 
    pe.permission_name, s.name + '.' + o.name AS ObjectName
FROM sys.database_principals AS pr
JOIN sys.database_permissions AS pe
    ON pe.grantee_principal_id = pr.principal_id
JOIN sys.objects AS o
    ON pe.major_id = o.object_id
JOIN sys.schemas AS s
    ON o.schema_id = s.schema_id;

참고 항목

참조

보안 카탈로그 뷰(Transact-SQL)

카탈로그 뷰(Transact-SQL)

개념

보안 개체

사용 권한 계층(데이터베이스 엔진)