sys.server_principals(Transact-SQL)

적용 대상:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAnalytics Platform System(PDW)

모든 서버 수준 보안 주체에 대한 행을 포함합니다.

참고 항목

Microsoft Entra ID는 이전에 Azure Active Directory(Azure AD)로 알려졌습니다.

열 이름 데이터 형식 설명
이름 sysname 보안 주체의 이름입니다. 서버 내에서 고유합니다.
principal_id int 보안 주체의 ID 번호입니다. 서버 내에서 고유합니다.
sid varbinary(85) 보안 주체의 SID(Security-IDentifier)입니다. Windows 보안 주체인 경우 Windows SID와 일치합니다.
type char(1) 보안 주체 유형:

S = SQL 로그인

U = Windows 로그인

G = Windows 그룹

R = 서버 역할

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

E = Microsoft Entra ID의 외부 로그인

X = Microsoft Entra 그룹 또는 애플리케이션의 외부 그룹

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 날짜/시간 보안 주체가 생성된 시간입니다.
modify_date 날짜/시간 보안 주체 정의가 마지막으로 수정된 시간입니다.
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 또는 사용 권한이 필요합니다. 사용자 정의 서버 역할을 보려면 ALTER ANY SERVER ROLE 또는 역할의 멤버 자격이 필요합니다.

Azure SQL Database에서는 다음 보안 주체만 모든 로그인을 볼 수 있습니다.

  • 서버 역할의 멤버 ##MS_LoginManager## 또는 의 특수 데이터베이스 역할 loginmanagermaster
  • Microsoft Entra 관리자 및 SQL Server 관리자

카탈로그 뷰에서 메타데이터의 표시 유형은 사용자가 소유하거나 사용자에게 일부 권한이 부여된 보안 개체로 제한됩니다. 자세한 내용은 Metadata Visibility Configuration을 참조하세요.

예제

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

Important

고정 서버 역할(퍼블릭 이외의)의 권한은 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;  

참고 항목

고정 서버 역할의 권한은 sys.server_permissions 표시되지 않습니다.

참고 항목

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