다음을 통해 공유


sys.fn_builtin_permissions (Transact-SQL)

적용 대상:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceMicrosoft Fabric 미리 보기의 SQL 데이터베이스

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

Transact-SQL 구문 표기 규칙

Syntax

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

Arguments

[ DEFAULT | NULL ]

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

NULL은 DEFAULT와 동일합니다.

empty_string

DEFAULT에 해당합니다.

'<securable_class>'

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

Tables returned

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

Permission types

Permission type Permission name 적용되는 보안 개체 또는 클래스
AADS 모든 데이터베이스 이벤트 세션 변경

적용 대상: SQL Server 2014(12.x) 이상 버전.
DATABASE
AAES 어떤 이벤트 세션 변경 SERVER
AAMK 모든 마스크 변경

적용 대상: SQL Server 2016(13.x) 이상 버전.
DATABASE
ADBO 대량 작업 관리 SERVER
AEDS 외부 데이터 소스 수정 권한

적용 대상: SQL Server 2016(13.x) 이상 버전.
DATABASE
AEFF 외부 파일 형식 변경 권한 부여

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

적용 대상: SQL Server 2012(11.x) 이상 버전.
AVAILABILITY GROUP
AL ALTER ASYMMETRIC KEY
AL ALTER CERTIFICATE
AL ALTER CONTRACT
AL ALTER DATABASE
AL ALTER

적용 대상: SQL Server 2017(14.x) 이상 버전 및 Azure SQL Database.
데이터베이스 범위의 자격 증명
AL ALTER ENDPOINT
AL ALTER FULLTEXT CATALOG
AL ALTER FULLTEXT STOPLIST
AL ALTER LOGIN
AL ALTER MESSAGE TYPE
AL ALTER OBJECT
AL ALTER 원격 서비스 바인딩
AL ALTER ROLE
AL ALTER ROUTE
AL ALTER SCHEMA
AL ALTER 부동산 검색 목록
AL ALTER

적용 대상: SQL Server 2012(11.x) 이상 버전.
SERVER ROLE
AL ALTER SERVICE
AL ALTER SYMMETRIC KEY
AL ALTER USER
AL ALTER XML 스키마 컬렉션
ALAA 서버 감사 수정 권한 (ALTER ANY SERVER AUDIT) SERVER
ALAG 가용성 그룹 변경 권한 부여

적용 대상: SQL Server 2012(11.x) 이상 버전.
SERVER
ALAK ALTER ANY 비대칭 키 DATABASE
ALAR 애플리케이션 역할 변경 권한 (ALTER ANY APPLICATION ROLE) DATABASE
ALAS 모든 어셈블리 수정 DATABASE
ALCD 모든 자격 증명 변경 SERVER
ALCF 모든 인증서 수정 DATABASE
ALCK 모든 열 암호화 키 변경

적용 대상: SQL Server 2016(13.x) 이상 버전.
DATABASE
ALCM 열 마스터 키 변경 권한

적용 대상: SQL Server 2016(13.x) 이상 버전.
DATABASE
ALCO 모든 연결 변경 SERVER
ALDA 모든 데이터베이스 감사 변경 DATABASE
ALDB 모든 데이터베이스 변경 SERVER
ALDC 모든 데이터베이스 범위 구성 변경

적용 대상: SQL Server 2016(13.x) 이상 버전.
DATABASE
ALDS 모든 DATASPACE 변경 DATABASE
ALED ALTER ANY DATABASE 이벤트 알림 수정 DATABASE
ALES 어떤 이벤트 알림이라도 변경 SERVER
ALFT 모든 전문 검색 카탈로그 변경 DATABASE
ALHE 모든 끝점을 변경 SERVER
ALLG 모든 로그인을 수정하십시오 SERVER
ALLS 모든 연결된 서버를 변경하기 SERVER
ALMT 아무 메시지 형식 변경 DATABASE
ALRL 모든 역할 변경 DATABASE
ALRS ALTER RESOURCES SERVER
ALRT 모든 경로 변경 DATABASE
ALSB 모든 원격 서비스 바인딩 변경 DATABASE
ALSC 모든 계약 변경 DATABASE
ALSK 임의의 대칭 키 수정 DATABASE
ALSM 스키마 변경 권한 부여 DATABASE
ALSP 모든 보안 정책 변경

적용 대상: SQL Server 2016(13.x) 이상 버전.
DATABASE
ALSR 모든 서버 역할 수정

적용 대상: SQL Server 2012(11.x) 이상 버전.
SERVER
ALSS 서버 상태 변경 SERVER
ALST ALTER SETTINGS SERVER
ALSV 모든 서비스를 변경 DATABASE
ALTG 모든 데이터베이스 DDL 트리거 변경 DATABASE
ALTR ALTER TRACE SERVER
ALUS 모든 사용자 변경 DATABASE
AUTH AUTHENTICATE DATABASE
AUTH AUTHENTICATE SERVER SERVER
BADB BACKUP DATABASE DATABASE
BALO BACKUP LOG DATABASE
CADB 모든 데이터베이스 연결

적용 대상: 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 CERTIFICATE
CL CONTROL CONTRACT
CL CONTROL DATABASE
CL CONTROL

적용 대상: SQL Server 2017(14.x) 이상 버전 및 Azure SQL Database.
데이터베이스 범위의 자격 증명
CL CONTROL ENDPOINT
CL CONTROL FULLTEXT CATALOG
CL CONTROL FULLTEXT STOPLIST
CL CONTROL LOGIN
CL CONTROL MESSAGE TYPE
CL CONTROL OBJECT
CL CONTROL 원격 서비스 바인딩
CL CONTROL ROLE
CL CONTROL ROUTE
CL CONTROL SCHEMA
CL CONTROL 부동산 검색 목록
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 스키마 컬렉션
CO CONNECT DATABASE
CO CONNECT ENDPOINT
CORP CONNECT REPLICATION DATABASE
COSQ CONNECT SQL SERVER
CP CHECKPOINT DATABASE
CRAC 가용성 그룹 생성

적용 대상: SQL Server 2012(11.x) 이상 버전.
SERVER
CRAG CREATE AGGREGATE DATABASE
CRAK 비대칭 키 만들기 DATABASE
CRAS CREATE ASSEMBLY DATABASE
CRCF CREATE CERTIFICATE DATABASE
CRDB 어떤 데이터베이스든 생성하기 SERVER
CRDB CREATE DATABASE DATABASE
CRDE CREATE DDL 이벤트 알림 SERVER
CRDF CREATE DEFAULT DATABASE
CRED 데이터베이스 DDL 이벤트 알림 생성 DATABASE
CRFN CREATE FUNCTION DATABASE
CRFT 전체 텍스트 카탈로그 만들기 DATABASE
CRHE CREATE ENDPOINT SERVER
CRMT 메시지 형식 만들기 DATABASE
CRPR CREATE PROCEDURE DATABASE
CRQU CREATE QUEUE DATABASE
CRRL CREATE ROLE DATABASE
CRRT CREATE ROUTE DATABASE
CRRU CREATE RULE DATABASE
CRSB 원격 서비스 바인딩 만들기 DATABASE
CRSC CREATE CONTRACT DATABASE
CRSK 대칭 키 생성 DATABASE
CRSM CREATE SCHEMA DATABASE
CRSN CREATE SYNONYM DATABASE
CRSO CREATE SEQUENCE SCHEMA
CRSR 서버 역할 생성

적용 대상: SQL Server 2012(11.x) 이상 버전.
SERVER
CRSV CREATE SERVICE DATABASE
CRTB CREATE TABLE DATABASE
CRTE 추적 이벤트 알림 만들기 SERVER
CRTY CREATE TYPE DATABASE
CRVW CREATE VIEW DATABASE
CRXS XML 스키마 컬렉션 생성 DATABASE
DABO 데이터베이스 대량 작업 관리

적용 대상: SQL Database.
DATABASE
DL DELETE DATABASE
DL DELETE OBJECT
DL DELETE SCHEMA
EAES 모든 외부 스크립트 실행

적용 대상: SQL Server 2016(13.x) 이상 버전.
DATABASE
EX EXECUTE DATABASE
EX EXECUTE OBJECT
EX EXECUTE SCHEMA
EX EXECUTE TYPE
EX EXECUTE XML 스키마 컬렉션
IAL 모든 로그인을 사칭합니다.

적용 대상: SQL Server 2014(12.x) 이상 버전.
SERVER
IM IMPERSONATE LOGIN
IM IMPERSONATE USER
IN INSERT DATABASE
IN INSERT OBJECT
IN INSERT SCHEMA
KIDC 데이터베이스 연결 종료

적용 대상: Azure SQL Database.
DATABASE
RC RECEIVE OBJECT
RF REFERENCES ASSEMBLY
RF REFERENCES ASYMMETRIC KEY
RF REFERENCES CERTIFICATE
RF REFERENCES CONTRACT
RF REFERENCES DATABASE
RF REFERENCES

적용 대상: SQL Server 2017(14.x) 이상 버전 및 Azure SQL Database.
데이터베이스 범위의 자격 증명
RF REFERENCES FULLTEXT CATALOG
RF REFERENCES FULLTEXT STOPLIST
RF REFERENCES 부동산 검색 목록
RF REFERENCES MESSAGE TYPE
RF REFERENCES OBJECT
RF REFERENCES SCHEMA
RF REFERENCES SYMMETRIC KEY
RF REFERENCES TYPE
RF REFERENCES XML 스키마 컬렉션
SHDN SHUTDOWN SERVER
SL SELECT DATABASE
SL SELECT OBJECT
SL SELECT SCHEMA
SN SEND SERVICE
SPLN SHOWPLAN DATABASE
SUQN 쿼리 알림 구독 DATABASE
SUS 모든 사용자 보안 가능한 항목 선택

적용 대상: 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 CERTIFICATE
TO TAKE OWNERSHIP CONTRACT
TO TAKE OWNERSHIP DATABASE
TO TAKE OWNERSHIP

적용 대상: SQL Server 2017(14.x) 이상 버전 및 Azure SQL Database.
데이터베이스 범위의 자격 증명
TO TAKE OWNERSHIP ENDPOINT
TO TAKE OWNERSHIP FULLTEXT CATALOG
TO TAKE OWNERSHIP FULLTEXT STOPLIST
TO TAKE OWNERSHIP 부동산 검색 목록
TO TAKE OWNERSHIP MESSAGE TYPE
TO TAKE OWNERSHIP OBJECT
TO TAKE OWNERSHIP 원격 서비스 바인딩
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 스키마 컬렉션
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 CERTIFICATE
VW VIEW DEFINITION CONTRACT
VW VIEW DEFINITION DATABASE
VW VIEW DEFINITION

적용 대상: SQL Server 2017(14.x) 이상 버전 및 Azure SQL Database.
데이터베이스 범위의 자격 증명
VW VIEW DEFINITION ENDPOINT
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 원격 서비스 바인딩
VW VIEW DEFINITION ROLE
VW VIEW DEFINITION ROUTE
VW VIEW DEFINITION SCHEMA
VW VIEW DEFINITION 부동산 검색 목록
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 스키마 컬렉션
VWAD 모든 정의 보기 SERVER
VWCK 열 암호화 키 정의 보기

적용 대상: SQL Server 2016(13.x) 이상 버전.
DATABASE
VWCM 열 마스터 키 정의 보기

적용 대상: SQL Server 2016(13.x) 이상 버전.
DATABASE
VWCT 변경 내용 추적 보기 OBJECT
VWCT 변경 내용 추적 보기 SCHEMA
VWDB 모든 데이터베이스 보기 SERVER
VWDS 데이터베이스 상태 보기 DATABASE
VWSS 서버 상태 보기 SERVER
XA 외부 액세스 어셈블리 SERVER
XU UNSAFE ASSEMBLY SERVER

Remarks

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

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

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

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

데이터베이스 엔진 권한 PDF의 스크린샷.

Permissions

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

Examples

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';

See also