다음을 통해 공유


sys.fn_builtin_permissions(Transact-SQL)

적용 대상: SQL ServerAzure SQL Database Azure 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) 이상 버전.
DATABASE
AAES ALTER ANY EVENT SESSION SERVER
AAMK ALTER ANY MASK

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

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

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

적용 대상: SQL Server 2012(11.x) 이상 버전.
AVAILABILITY GROUP
AL 변경 ASYMMETRIC KEY
AL 변경 인증서
AL 변경 CONTRACT
AL 변경 DATABASE
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 변경 SERVICE
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 DATABASE
ALAR ALTER ANY APPLICATION ROLE DATABASE
ALAS ALTER ANY ASSEMBLY DATABASE
ALCD ALTER ANY CREDENTIAL SERVER
ALCF ALTER ANY CERTIFICATE DATABASE
ALCK ALTER ANY COLUMN ENCRYPTION KEY

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

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

적용 대상: SQL Server 2016(13.x) 이상 버전
DATABASE
ALDS ALTER ANY DATASPACE DATABASE
ALED ALTER ANY DATABASE EVENT NOTIFICATION DATABASE
ALES ALTER ANY EVENT NOTIFICATION SERVER
ALFT ALTER ANY FULLTEXT CATALOG DATABASE
ALHE ALTER ANY ENDPOINT SERVER
ALLG ALTER ANY LOGIN SERVER
ALLS ALTER ANY LINKED SERVER SERVER
ALMT ALTER ANY MESSAGE TYPE DATABASE
ALRL ALTER ANY ROLE DATABASE
ALRS ALTER RESOURCES SERVER
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
ALSP ALTER ANY SECURITY POLICY

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

적용 대상: SQL Server 2012(11.x) 이상 버전.
SERVER
ALSS ALTER SERVER STATE SERVER
ALST ALTER SETTINGS SERVER
ALSV ALTER ANY SERVICE DATABASE
ALTG ALTER ANY DATABASE DDL TRIGGER DATABASE
ALTR ALTER TRACE SERVER
ALUS 모든 사용자 변경 DATABASE
인증 AUTHENTICATE DATABASE
인증 AUTHENTICATE SERVER SERVER
BADB BACKUP DATABASE DATABASE
BALO BACKUP LOG DATABASE
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 DATABASE
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 SERVICE
CL CONTROL SYMMETRIC KEY
CL CONTROL TYPE
CL CONTROL USER
CL CONTROL XML SCHEMA COLLECTION
CO CONNECT DATABASE
CO CONNECT 엔드포인트
CORP CONNECT REPLICATION DATABASE
COSQ CONNECT SQL SERVER
CP CHECKPOINT DATABASE
CRAC CREATE AVAILABILITY GROUP

적용 대상: SQL Server 2012(11.x) 이상 버전.
SERVER
CRAG CREATE AGGREGATE DATABASE
CRAK CREATE ASYMMETRIC KEY DATABASE
CRAS CREATE ASSEMBLY DATABASE
CRCF CREATE CERTIFICATE DATABASE
CRDB CREATE ANY DATABASE SERVER
CRDB CREATE DATABASE DATABASE
CRDE CREATE DDL EVENT NOTIFICATION SERVER
CRDF CREATE DEFAULT DATABASE
CRED CREATE DATABASE DDL EVENT NOTIFICATION DATABASE
CRFN CREATE FUNCTION DATABASE
CRFT CREATE FULLTEXT CATALOG DATABASE
CRHE CREATE ENDPOINT SERVER
CRMT CREATE MESSAGE TYPE DATABASE
CRPR 절차 만들기 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 SCHEMA
CRSR CREATE SERVER ROLE

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

적용 대상: SQL Database.
DATABASE
DL DELETE DATABASE
DL DELETE OBJECT
DL DELETE SCHEMA
EAES EXECUTE ANY EXTERNAL SCRIPT

적용 대상: SQL Server 2016(13.x) 이상 버전
DATABASE
EX 실행 DATABASE
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 삽입 DATABASE
IN 삽입 OBJECT
IN 삽입 SCHEMA
KIDC KILL DATABASE CONNECTION

적용 대상: Azure SQL Database.
DATABASE
RC RECEIVE OBJECT
RF REFERENCES ASSEMBLY
RF REFERENCES ASYMMETRIC KEY
RF REFERENCES 인증서
RF REFERENCES CONTRACT
RF REFERENCES DATABASE
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 SELECT DATABASE
SL SELECT OBJECT
SL SELECT SCHEMA
SN SEND SERVICE
SPLN SHOWPLAN DATABASE
SUQN SUBSCRIBE QUERY NOTIFICATIONS DATABASE
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 DATABASE
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 SERVICE
TO TAKE OWNERSHIP SYMMETRIC KEY
TO TAKE OWNERSHIP TYPE
TO TAKE OWNERSHIP XML SCHEMA COLLECTION
UMSK UNMASK

적용 대상: SQL Server 2016(13.x) 이상 버전
DATABASE
UP UPDATE DATABASE
UP UPDATE OBJECT
UP UPDATE 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 DATABASE
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 SERVICE
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) 이상 버전
DATABASE
VWCM VIEW ANY COLUMN MASTER KEY DEFINITION

적용 대상: SQL Server 2016(13.x) 이상 버전
DATABASE
VWCT VIEW CHANGE TRACKING OBJECT
VWCT VIEW CHANGE TRACKING SCHEMA
VWDB VIEW ANY DATABASE SERVER
VWDS 데이터베이스 상태 보기 DATABASE
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 형식으로 다운로드할 수 있습니다.

데이터베이스 엔진 사용 권한 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';

참고 항목