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)