Compartir a través de


sys.database_role_members (Transact-SQL)

Se aplica a:SQL ServerAzure SQL DatabaseInstancia administrada de Azure SQLAzure Synapse AnalyticsAnalytics Platform System (PDW)Punto de conexión de SQL Analytics en Microsoft FabricAlmacén en Microsoft FabricBase de datos SQL 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 dato Description
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.

Permissions

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.

Example

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;  

Véase 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 ROL (Transact-SQLL)
sys.server_role_members (Transact-SQL)