sys.database_role_members (Transact-SQL)
适用于:SQL Server
Azure SQL 数据库
Azure SQL 托管实例
Azure Synapse Analytics
Analytics Platform System (PDW)
Microsoft Fabric 中的 SQL 分析终结点
Microsoft Fabric 中的仓库
为每个数据库角色的每个成员返回一行。 数据库用户、应用程序角色和其他数据库角色可以是数据库角色的成员。 若要将成员添加到角色,请将 ALTER ROLE 语句与选项一起使用 ADD MEMBER
。 与 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)
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈