sys.fn_builtin_permissions(Transact-SQL)

적용 대상:SQL ServerAzure SQL DatabaseAzure SQL Managed Instance

서버의 기본 제공 권한 계층 구조에 대한 설명을 반환합니다. sys.fn_builtin_permissions 는 SQL Server 및 Azure SQL Database에서만 호출할 수 있으며 현재 플랫폼에서 지원되는지 여부에 관계없이 모든 권한을 반환합니다. 대부분의 사용 권한은 모든 플랫폼에 적용되지만 일부는 적용되지 않습니다. 예를 들어 SQL Database에서 서버 수준 권한을 부여할 수 없습니다. 각 권한을 지원하는 플랫폼에 대한 자세한 내용은 사용 권한(데이터베이스 엔진)을 참조하세요.

Transact-SQL 구문 표기 규칙

구문

sys.fn_builtin_permissions ( [ DEFAULT | NULL ]
    | empty_string | '<securable_class>' } )
  
<securable_class> ::=
      APPLICATION ROLE | ASSEMBLY | ASYMMETRIC KEY | AVAILABILITY GROUP
    | CERTIFICATE | CONTRACT | DATABASE | DATABASE SCOPED CREDENTIAL
    | ENDPOINT | FULLTEXT CATALOG | FULLTEXT STOPLIST | LOGIN
    | MESSAGE TYPE | OBJECT | REMOTE SERVICE BINDING | ROLE | ROUTE
    | SCHEMA | SEARCH PROPERTY LIST | SERVER | SERVER ROLE | SERVICE
    | SYMMETRIC KEY | TYPE | USER | XML SCHEMA COLLECTION

인수

[ DEFAULT | NULL ]

DEFAULT 옵션(따옴표 없음)을 사용하여 호출되면 함수는 기본 제공 권한의 전체 목록을 반환합니다.

NULL은 DEFAULT와 동일합니다.

empty_string

DEFAULT에 해당합니다.

'<securable_class>'

하나의 보안 가능 클래스의 이름으로 호출되는 경우 클래스 sys.fn_builtin_permissions 에 적용되는 모든 사용 권한을 반환합니다. '<securable_class>'는 따옴표가 필요한 nvarchar(60) 형식의 문자열 리터럴입니다.

반환된 테이블

열 이름 데이터 형식 데이터 정렬 설명
class_desc nvarchar(60) 서버의 데이터 정렬 보안 개체 클래스에 대한 설명입니다.
permission_name nvarchar(60) 서버의 데이터 정렬 사용 권한 이름입니다.
type varchar(4) 서버의 데이터 정렬 압축 권한 유형 코드입니다. 다음 표를 참조하십시오.
covering_permission_name nvarchar(60) 서버의 데이터 정렬 NULL이 아니면 이 클래스에 대한 다른 사용 권한을 포함하는 사용 권한의 이름입니다.
parent_class_desc nvarchar(60) 서버의 데이터 정렬 NULL이 아닌 경우 현재 클래스를 포함하는 부모 클래스의 이름입니다.
parent_covering_permission_name nvarchar(60) 서버의 데이터 정렬 NULL이 아닌 경우 해당 클래스에 대한 다른 모든 사용 권한을 의미하는 부모 클래스에 대한 사용 권한의 이름입니다.

사용 권한 유형

권한 유형 권한 이름 적용되는 보안 개체 또는 클래스
AADS ALTER ANY DATABASE EVENT SESSION

적용 대상: SQL Server 2014(12.x) 이상 버전.
데이터베이스
AAES ALTER ANY EVENT SESSION SERVER
AAMK ALTER ANY MASK

적용 대상: SQL Server 2016(13.x) 이상 버전
데이터베이스
ADBO ADMINISTER BULK OPERATIONS SERVER
AEDS ALTER ANY EXTERNAL DATA SOURCE

적용 대상: SQL Server 2016(13.x) 이상 버전
데이터베이스
AEFF ALTER ANY EXTERNAL FILE FORMAT

적용 대상: SQL Server 2016(13.x) 이상 버전
데이터베이스
AL 변경 APPLICATION ROLE
AL 변경 ASSEMBLY
AL 변경

적용 대상: SQL Server 2012(11.x) 이상 버전.
AVAILABILITY GROUP
AL 변경 ASYMMETRIC KEY
AL 변경 인증서
AL 변경 CONTRACT
AL 변경 데이터베이스
AL 변경

적용 대상: SQL Server 2017(14.x) 이상 버전 및 Azure SQL Database.
DATABASE SCOPED CREDENTIAL
AL 변경 엔드포인트
AL 변경 FULLTEXT CATALOG
AL 변경 FULLTEXT STOPLIST
AL 변경 LOGIN
AL 변경 MESSAGE TYPE
AL 변경 OBJECT
AL 변경 REMOTE SERVICE BINDING
AL 변경 ROLE
AL 변경 ROUTE
AL 변경 SCHEMA
AL 변경 SEARCH PROPERTY LIST
AL 변경

적용 대상: SQL Server 2012(11.x) 이상 버전.
SERVER ROLE
AL 변경 서비스
AL 변경 SYMMETRIC KEY
AL 변경 USER
AL 변경 XML SCHEMA COLLECTION
ALAA ALTER ANY SERVER AUDIT SERVER
ALAG ALTER ANY AVAILABILITY GROUP

적용 대상: SQL Server 2012(11.x) 이상 버전.
SERVER
ALAK ALTER ANY ASYMMETRIC KEY 데이터베이스
ALAR ALTER ANY APPLICATION ROLE 데이터베이스
슬프게 도 ALTER ANY ASSEMBLY 데이터베이스
ALCD ALTER ANY CREDENTIAL SERVER
ALCF ALTER ANY CERTIFICATE 데이터베이스
ALCK ALTER ANY COLUMN ENCRYPTION KEY

적용 대상: SQL Server 2016(13.x) 이상 버전
데이터베이스
ALCM ALTER ANY COLUMN MASTER KEY

적용 대상: SQL Server 2016(13.x) 이상 버전
데이터베이스
ALCO ALTER ANY CONNECTION SERVER
Alda ALTER ANY DATABASE AUDIT 데이터베이스
ALDB ALTER ANY DATABASE SERVER
ALDC ALTER ANY DATABASE SCOPED CONFIGURATION

적용 대상: SQL Server 2016(13.x) 이상 버전
데이터베이스
ALDS ALTER ANY DATASPACE 데이터베이스
ALED ALTER ANY DATABASE EVENT NOTIFICATION 데이터베이스
Ales ALTER ANY EVENT NOTIFICATION SERVER
ALFT ALTER ANY FULLTEXT CATALOG 데이터베이스
ALHE ALTER ANY ENDPOINT SERVER
ALLG ALTER ANY LOGIN SERVER
Alls ALTER ANY LINKED SERVER SERVER
ALMT ALTER ANY MESSAGE TYPE 데이터베이스
ALRL ALTER ANY ROLE 데이터베이스
ALRS ALTER RESOURCES SERVER
ALRT ALTER ANY ROUTE 데이터베이스
ALSB ALTER ANY REMOTE SERVICE BINDING 데이터베이스
ALSC ALTER ANY CONTRACT 데이터베이스
ALSK ALTER ANY SYMMETRIC KEY 데이터베이스
ALSM ALTER ANY SCHEMA 데이터베이스
ALSP ALTER ANY SECURITY POLICY

적용 대상: SQL Server 2016(13.x) 이상 버전
데이터베이스
ALSR ALTER ANY SERVER ROLE

적용 대상: SQL Server 2012(11.x) 이상 버전.
SERVER
ALSS ALTER SERVER STATE SERVER
ALST ALTER SETTINGS SERVER
ALSV ALTER ANY SERVICE 데이터베이스
ALTG ALTER ANY DATABASE DDL TRIGGER 데이터베이스
ALTR ALTER TRACE SERVER
ALUS 모든 사용자 변경 데이터베이스
인증 AUTHENTICATE 데이터베이스
인증 AUTHENTICATE SERVER SERVER
BADB BACKUP DATABASE 데이터베이스
BALO BACKUP LOG 데이터베이스
CADB CONNECT ANY DATABASE

적용 대상: SQL Server 2014(12.x) 이상 버전.
SERVER
CL CONTROL APPLICATION ROLE
CL CONTROL ASSEMBLY
CL CONTROL ASYMMETRIC KEY
CL CONTROL

적용 대상: SQL Server 2012(11.x) 이상 버전.
AVAILABILITY GROUP
CL CONTROL 인증서
CL CONTROL CONTRACT
CL CONTROL 데이터베이스
CL CONTROL

적용 대상: SQL Server 2017(14.x) 이상 버전 및 Azure SQL Database.
DATABASE SCOPED CREDENTIAL
CL CONTROL 엔드포인트
CL CONTROL FULLTEXT CATALOG
CL CONTROL FULLTEXT STOPLIST
CL CONTROL LOGIN
CL CONTROL MESSAGE TYPE
CL CONTROL OBJECT
CL CONTROL REMOTE SERVICE BINDING
CL CONTROL ROLE
CL CONTROL ROUTE
CL CONTROL SCHEMA
CL CONTROL SEARCH PROPERTY LIST
CL CONTROL SERVER SERVER
CL CONTROL

적용 대상: SQL Server 2012(11.x) 이상 버전.
SERVER ROLE
CL CONTROL 서비스
CL CONTROL SYMMETRIC KEY
CL CONTROL TYPE
CL CONTROL USER
CL CONTROL XML SCHEMA COLLECTION
CO CONNECT 데이터베이스
CO CONNECT 엔드포인트
공사 CONNECT REPLICATION 데이터베이스
COSQ CONNECT SQL SERVER
CP CHECKPOINT 데이터베이스
CRAC CREATE AVAILABILITY GROUP

적용 대상: SQL Server 2012(11.x) 이상 버전.
SERVER
울 퉁 불 퉁 CREATE AGGREGATE 데이터베이스
CRAK CREATE ASYMMETRIC KEY 데이터베이스
CRAS CREATE ASSEMBLY 데이터베이스
CRCF CREATE CERTIFICATE 데이터베이스
CRDB CREATE ANY DATABASE SERVER
CRDB CREATE DATABASE 데이터베이스
CRDE CREATE DDL EVENT NOTIFICATION SERVER
CRDF CREATE DEFAULT 데이터베이스
Cred CREATE DATABASE DDL EVENT NOTIFICATION 데이터베이스
CRFN CREATE FUNCTION 데이터베이스
CRFT CREATE FULLTEXT CATALOG 데이터베이스
CRHE CREATE ENDPOINT SERVER
CRMT CREATE MESSAGE TYPE 데이터베이스
CRPR 절차 만들기 데이터베이스
CRQU CREATE QUEUE 데이터베이스
CRRL CREATE ROLE 데이터베이스
CRRT CREATE ROUTE 데이터베이스
CRRU CREATE RULE 데이터베이스
CRSB CREATE REMOTE SERVICE BINDING 데이터베이스
CRSC CREATE CONTRACT 데이터베이스
CRSK CREATE SYMMETRIC KEY 데이터베이스
CRSM CREATE SCHEMA 데이터베이스
CRSN CREATE SYNONYM 데이터베이스
CRSO CREATE SEQUENCE SCHEMA
CRSR CREATE SERVER ROLE

적용 대상: SQL Server 2012(11.x) 이상 버전.
SERVER
CRSV CREATE SERVICE 데이터베이스
CRTB 테이블 만들기 데이터베이스
CRTE CREATE TRACE EVENT NOTIFICATION SERVER
CRTY 유형 만들기 데이터베이스
CRVW 보기 만들기 데이터베이스
CRXS CREATE XML SCHEMA COLLECTION 데이터베이스
DABO ADMINISTER DATABASE BULK OPERATIONS

적용 대상: SQL Database.
데이터베이스
DL Delete 데이터베이스
DL Delete OBJECT
DL Delete SCHEMA
EAES EXECUTE ANY EXTERNAL SCRIPT

적용 대상: SQL Server 2016(13.x) 이상 버전
데이터베이스
EX 실행 데이터베이스
EX 실행 OBJECT
EX 실행 SCHEMA
EX 실행 TYPE
EX 실행 XML SCHEMA COLLECTION
IAL IMPERSONATE ANY LOGIN

적용 대상: SQL Server 2014(12.x) 이상 버전.
SERVER
IM IMPERSONATE LOGIN
IM IMPERSONATE USER
IN 삽입 데이터베이스
IN 삽입 OBJECT
IN 삽입 SCHEMA
KIDC KILL DATABASE CONNECTION

적용 대상: Azure SQL Database.
데이터베이스
RC RECEIVE OBJECT
RF REFERENCES ASSEMBLY
RF REFERENCES ASYMMETRIC KEY
RF REFERENCES 인증서
RF REFERENCES CONTRACT
RF REFERENCES 데이터베이스
RF REFERENCES

적용 대상: SQL Server 2017(14.x) 이상 버전 및 Azure SQL Database.
DATABASE SCOPED CREDENTIAL
RF REFERENCES FULLTEXT CATALOG
RF REFERENCES FULLTEXT STOPLIST
RF REFERENCES SEARCH PROPERTY LIST
RF REFERENCES MESSAGE TYPE
RF REFERENCES OBJECT
RF REFERENCES SCHEMA
RF REFERENCES SYMMETRIC KEY
RF REFERENCES TYPE
RF REFERENCES XML SCHEMA COLLECTION
SHDN SHUTDOWN SERVER
SL 선택 데이터베이스
SL 선택 OBJECT
SL 선택 SCHEMA
SN SEND 서비스
SPLN SHOWPLAN 데이터베이스
SUQN SUBSCRIBE QUERY NOTIFICATIONS 데이터베이스
Sus SELECT ALL USER SECURABLES

적용 대상: SQL Server 2014(12.x) 이상 버전.
SERVER
TO TAKE OWNERSHIP ASSEMBLY
TO TAKE OWNERSHIP ASYMMETRIC KEY
TO TAKE OWNERSHIP

적용 대상: SQL Server 2012(11.x) 이상 버전.
AVAILABILITY GROUP
TO TAKE OWNERSHIP 인증서
TO TAKE OWNERSHIP CONTRACT
TO TAKE OWNERSHIP 데이터베이스
TO TAKE OWNERSHIP

적용 대상: SQL Server 2017(14.x) 이상 버전 및 Azure SQL Database.
DATABASE SCOPED CREDENTIAL
TO TAKE OWNERSHIP 엔드포인트
TO TAKE OWNERSHIP FULLTEXT CATALOG
TO TAKE OWNERSHIP FULLTEXT STOPLIST
TO TAKE OWNERSHIP SEARCH PROPERTY LIST
TO TAKE OWNERSHIP MESSAGE TYPE
TO TAKE OWNERSHIP OBJECT
TO TAKE OWNERSHIP REMOTE SERVICE BINDING
TO TAKE OWNERSHIP ROLE
TO TAKE OWNERSHIP ROUTE
TO TAKE OWNERSHIP SCHEMA
TO TAKE OWNERSHIP

적용 대상: SQL Server 2012(11.x) 이상 버전.
SERVER ROLE
TO TAKE OWNERSHIP 서비스
TO TAKE OWNERSHIP SYMMETRIC KEY
TO TAKE OWNERSHIP TYPE
TO TAKE OWNERSHIP XML SCHEMA COLLECTION
UMSK UNMASK

적용 대상: SQL Server 2016(13.x) 이상 버전
데이터베이스
UP 업데이트 데이터베이스
UP 업데이트 OBJECT
UP 업데이트 SCHEMA
VW VIEW DEFINITION APPLICATION ROLE
VW VIEW DEFINITION ASSEMBLY
VW VIEW DEFINITION ASYMMETRIC KEY
VW VIEW DEFINITION

적용 대상: SQL Server 2012(11.x) 이상 버전.
AVAILABILITY GROUP
VW VIEW DEFINITION 인증서
VW VIEW DEFINITION CONTRACT
VW VIEW DEFINITION 데이터베이스
VW VIEW DEFINITION

적용 대상: SQL Server 2017(14.x) 이상 버전 및 Azure SQL Database.
DATABASE SCOPED CREDENTIAL
VW VIEW DEFINITION 엔드포인트
VW VIEW DEFINITION FULLTEXT CATALOG
VW VIEW DEFINITION FULLTEXT STOPLIST
VW VIEW DEFINITION LOGIN
VW VIEW DEFINITION MESSAGE TYPE
VW VIEW DEFINITION OBJECT
VW VIEW DEFINITION REMOTE SERVICE BINDING
VW VIEW DEFINITION ROLE
VW VIEW DEFINITION ROUTE
VW VIEW DEFINITION SCHEMA
VW VIEW DEFINITION SEARCH PROPERTY LIST
VW VIEW DEFINITION

적용 대상: SQL Server 2012(11.x) 이상 버전.
SERVER ROLE
VW VIEW DEFINITION 서비스
VW VIEW DEFINITION SYMMETRIC KEY
VW VIEW DEFINITION TYPE
VW VIEW DEFINITION USER
VW VIEW DEFINITION XML SCHEMA COLLECTION
VWAD VIEW ANY DEFINITION SERVER
VWCK VIEW ANY COLUMN ENCRYPTION KEY DEFINITION

적용 대상: SQL Server 2016(13.x) 이상 버전
데이터베이스
VWCM VIEW ANY COLUMN MASTER KEY DEFINITION

적용 대상: SQL Server 2016(13.x) 이상 버전
데이터베이스
VWCT VIEW CHANGE TRACKING OBJECT
VWCT VIEW CHANGE TRACKING SCHEMA
VWDB VIEW ANY DATABASE SERVER
VWDS 데이터베이스 상태 보기 데이터베이스
VWSS VIEW SERVER STATE SERVER
XA EXTERNAL ACCESS ASSEMBLY SERVER
Xu UNSAFE ASSEMBLY SERVER

설명

sys.fn_builtin_permissions 는 미리 정의된 권한 계층의 복사본을 내보내는 테이블 반환 함수입니다. 이 계층에는 사용 권한 포함이 포함됩니다. 결과 집합은 DEFAULT 루트가 (class = , permission = SERVERCONTROL SERVER)인 사용 권한 계층 구조의 지시된 순환 그래프를 설명합니다.

sys.fn_builtin_permissions 는 상관 관계가 있는 매개 변수를 허용하지 않습니다.

유효하지 않은 클래스 이름으로 sys.fn_builtin_permissions를 호출하면 빈 집합이 반환됩니다.

다음 이미지는 사용 권한과 서로의 관계를 보여 줍니다. 일부 상위 수준 권한(예: CONTROL SERVER)은 여러 번 나열됩니다. 이 문서에서는 포스터가 너무 작아 읽기 어렵습니다. 전체 크기의 데이터베이스 엔진 사용 권한 포스터 를 PDF 형식으로 다운로드할 수 있습니다.

A screenshot from the Database Engine permissions PDF.

사용 권한

public 역할의 멤버 자격이 필요합니다.

예제

A. 기본 제공 사용 권한 모두 나열

사용하거나 빈 문자열을 사용하여 DEFAULT 모든 권한을 반환합니다.

SELECT * FROM sys.fn_builtin_permissions(DEFAULT);
SELECT * FROM sys.fn_builtin_permissions('');

B. 대칭 키에 설정할 수 있는 권한 나열

해당 클래스에 대해 가능한 모든 권한을 반환할 클래스를 지정합니다.

SELECT * FROM sys.fn_builtin_permissions(N'SYMMETRIC KEY');

C. SELECT 권한이 있는 클래스 나열

SELECT * FROM sys.fn_builtin_permissions(DEFAULT)
    WHERE permission_name = 'SELECT';

참고 항목