適用於:SQL Server
Azure SQL 資料庫
Azure SQL 受控執行個體
Azure Synapse Analytics
分析平台系統(PDW)
Microsoft Fabric 中的 SQL 分析端點
Microsoft Fabric 中的倉儲
Microsoft Fabric 中的 SQL 資料庫
針對每個資料庫角色的每個成員,各傳回一個資料列。 資料庫使用者、應用程式角色和其他資料庫角色可以是資料庫角色的成員。 若要將成員新增至角色,請使用 ALTER ROLE 語句搭配 ADD MEMBER 選項。 與 sys.database_principals聯結
| 欄位名稱 | 數據類型 | Description |
|---|---|---|
| role_principal_id | int | 角色的資料庫主體標識碼。 |
| member_principal_id | int | 成員的資料庫主體標識碼。 |
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)