sys.database_role_members (Transact-SQL)
Se aplica a: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW) Punto de conexión de análisis SQL en Microsoft Fabric Warehouse en Microsoft Fabric Base de datos SQL de 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)