다음을 통해 공유


sys.database_role_members(Transact-SQL)

적용 대상: Microsoft Fabric의 Microsoft Fabric Warehouse에 있는 SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Platform System(PDW) SQL 분석 엔드포인트

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

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

사용 권한

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

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

예시

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

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)