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)