sys.database_role_members (Transact-SQL)
適用於:MICROSOFT網
狀架構倉儲中的 SQL Server
Azure SQL 資料庫 Azure SQL 受控執行個體
Azure Synapse Analytics
Platform System (PDW)
SQL 分析端點Microsoft Fabric SQL 資料庫中的網狀
架構倉儲Microsoft網狀架構
針對每個資料庫角色的每個成員,各傳回一個資料列。 資料庫使用者、應用程式角色和其他資料庫角色可以是資料庫角色的成員。 若要將成員新增至角色,請使用 ALTER ROLE 語句搭配 ADD MEMBER
選項。 與 sys.database_principals聯結以傳回值的名稱principal_id
。
資料行名稱 | 資料類型 | 描述 |
---|---|---|
role_principal_id | int | 角色的資料庫主體標識碼。 |
member_principal_id | int | 成員的資料庫主體標識碼。 |
權限
任何使用者可以檢視自己的角色成員資格。 若要檢視其他角色成員資格,需要固定資料庫角色或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)