Comparteix a través de


sys.database_role_members (Transact-SQL)

Se aplica a: punto de conexión de SQL Server Azure SQL Database Azure SQL Instancia administrada punto de conexión de SQL Analytics Analytics Platform System (PDW) de SQL Analytics System (PDW) de SQL Server en Microsoft Fabric Warehouse en Microsoft Fabric

Devuelve una fila por cada miembro de cada rol de base de datos. Los usuarios de base de datos, los roles de aplicación y otros roles de base de datos pueden ser miembros de un rol de base de datos. Para agregar miembros a un rol, use la instrucción ALTER ROLE con la ADD MEMBER opción . Únase con sys.database_principals para devolver los nombres de los principal_id valores.

Nombre de la columna Tipo de datos Descripción
role_principal_id int Id. de entidad de seguridad de base de datos del rol.
member_principal_id int Id. de entidad de seguridad de base de datos del miembro.

Permisos

Cualquier usuario puede ver su propia pertenencia a roles. Para ver otras pertenencias a roles, es necesario pertenecer al db_securityadmin rol fijo de base de datos o VIEW DEFINITION a la base de datos.

La visibilidad de los metadatos en las vistas de catálogo se limita a los elementos protegibles y que son propiedad de un usuario o sobre los que el usuario ha recibido algún permiso. Para obtener más información, consulte Metadata Visibility Configuration.

Ejemplo

La consulta siguiente devuelve los miembros de los roles de base de datos.

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;  

Consulte también

Vistas de catálogo de seguridad (Transact-SQL)
Entidades de seguridad (motor de base de datos)
Vistas de catálogo (Transact-SQL)
ALTER ROLE (Transact-SQLL)
sys.server_role_members (Transact-SQL)