sys.server_principals(Transact-SQL)

적용 대상: 예SQL Server(지원되는 모든 버전) 예Azure SQL Managed Instance 예병렬 데이터 웨어하우스

각 서버 수준 보안 주체에 대한 행이 포함되어 있습니다.

열 이름 데이터 형식 Description
name sysname 보안 주체의 이름입니다. 서버 내에서 고유합니다.
principal_id int 보안 주체의 ID 번호입니다. 서버 내에서 고유합니다.
s varbinary(85) 보안 주체의 SID(보안 ID)입니다. Windows 보안 주체의 경우 Windows SID와 일치합니다.
type char(1) 보안 주체 유형입니다.

S = SQL 로그인

U = Windows 로그인

G = Windows 그룹

R = 서버 역할

C = 인증서에 매핑된 로그인

E = Azure Active Directory의 외부 로그인

X = Azure Active Directory 그룹 또는 응용 프로그램의 외부 그룹

K = 비대칭 키에 매핑된 로그인
type_desc nvarchar(60) 보안 주체 유형에 대한 설명입니다.

SQL_LOGIN

WINDOWS_LOGIN

WINDOWS_GROUP

SERVER_ROLE

CERTIFICATE_MAPPED_LOGIN

EXTERNAL_LOGIN

EXTERNAL_GROUP

ASYMMETRIC_KEY_MAPPED_LOGIN
is_disabled int 1 = 로그인을 사용할 수 없습니다.
create_date datetime 보안 주체가 생성된 시간입니다.
modify_date datetime 보안 주체 정의가 마지막으로 수정된 시간입니다.
default_database_name sysname 이 보안 주체에 대한 기본 데이터베이스입니다.
default_language_name sysname 이 보안 주체에 대한 기본 언어입니다.
credential_id int 이 보안 주체와 연결된 자격 증명의 ID입니다. 이 보안 주체와 연결된 자격 증명이 없는 경우 credential_id는 NULL이 됩니다.
owning_principal_id int 서버 역할 소유자의 principal_id 입니다. 보안 주체가 서버 역할이 아닌 경우 NULL입니다.
is_fixed_role bit 보안 주체가 고정 권한이 있는 기본 제공 서버 역할 중 하나 이면 1을 반환 합니다. 자세한 내용은 서버 수준 역할을 참조하세요.

사용 권한

모든 로그인은 자신의 로그인 이름, 시스템 로그인 및 고정 서버 역할을 볼 수 있습니다. 다른 로그인을 보려면 로그인할 때 ALTER ANY LOGIN 또는 사용 권한이 필요합니다. 사용자 정의 서버 역할을 보려면 ANY SERVER ROLE 또는 역할의 멤버 자격이 필요합니다.

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

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

중요

고정 서버 역할의 사용 권한 (공용 이외의)은 sys.server_permissions에 표시 되지 않습니다. 따라서 서버 보안 주체가 여기에 나열되지 않은 추가 사용 권한을 가질 수 있습니다.

SELECT pr.principal_id, pr.name, pr.type_desc,   
    pe.state_desc, pe.permission_name   
FROM sys.server_principals AS pr   
JOIN sys.server_permissions AS pe   
    ON pe.grantee_principal_id = pr.principal_id;  

참고 항목

보안 카탈로그 뷰(Transact-SQL)
카탈로그 뷰(Transact-SQL)
보안 주체(데이터베이스 엔진)
사용 권한 계층(데이터베이스 엔진)