다음을 통해 공유


sys.database_role_members (Transact-SQL)

적용 대상:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics분석 플랫폼 시스템(PDW)Microsoft Fabric의 SQL 분석 엔드포인트Microsoft Fabric의 웨어하우스Microsoft Fabric의 SQL 데이터베이스

각 데이터베이스 역할의 각 구성원에 대해 하나의 행을 반환합니다. 데이터베이스 사용자, 애플리케이션 역할 및 기타 데이터베이스 역할은 데이터베이스 역할의 멤버일 수 있습니다. 역할에 멤버를 추가하려면 옵션과 함께 ALTER ROLEADD MEMBER. sys.database_principals 조인하여 값의 이름을 반환합니다principal_id.

열 이름 데이터 형식 Description
role_principal_id int 역할의 데이터베이스 보안 주체 ID입니다.
member_principal_id int 멤버의 데이터베이스 보안 주체 ID입니다.

Permissions

모든 사용자는 자신의 역할 멤버 자격을 볼 수 있습니다. 다른 역할 멤버 자격을 보려면 고정 데이터베이스 역할 또는 db_securityadmin 데이터베이스의 멤버 자격이 VIEW DEFINITION 필요합니다.

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

Example

다음 쿼리는 데이터베이스 역할의 멤버를 반환합니다.

SELECT DP1.name AS DatabaseRoleName,   
   isnull (DP2.name, 'No members') AS DatabaseUserName   
 FROM sys.database_role_members AS DRM  
 RIGHT OUTER JOIN sys.database_principals AS DP1  
   ON DRM.role_principal_id = DP1.principal_id  
 LEFT OUTER JOIN sys.database_principals AS DP2  
   ON DRM.member_principal_id = DP2.principal_id  
WHERE DP1.type = 'R'
ORDER BY DP1.name;  

또한 참조하십시오

보안 카탈로그 뷰(Transact-SQL)
보안 주체(데이터베이스 엔진)
카탈로그 보기(Transact-SQL)
ALTER ROLE(Transact-SQLL)
sys.server_role_members (Transact-SQL)