sys.database_role_members(Transact-SQL)

 

이 항목은 다음에 적용됩니다.예SQL Server(2008부터 시작)예Azure SQL 데이터베이스예Azure SQL 데이터 웨어하우스예병렬 데이터 웨어하우스

각 데이터베이스 역할의 각 멤버에 대해 행을 반환합니다. 데이터베이스 사용자, 응용 프로그램 역할 및 다른 데이터베이스 역할에는 데이터베이스 역할의 멤버 수 있습니다. 역할에 구성원을 추가 하려면 사용 하 여는 ALTER ROLE 문을 ADD MEMBER 옵션입니다. 사용 하 여 조인 sys.database_principals 의 이름을 반환 하는 principal_id 값입니다.

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

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

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

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

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)

커뮤니티 추가 항목

추가
표시: