sys.database_role_members (Transact-SQL)
S’applique à : point de terminaison d’analytique SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Platform System (PDW) SQL Analytics dans Microsoft Fabric Warehouse dans Microsoft Fabric
Retourne une ligne pour chaque membre de chaque rôle de base de données. Les utilisateurs de base de données, les rôles d’application et d’autres rôles de base de données peuvent être membres d’un rôle de base de données. Pour ajouter des membres à un rôle, utilisez l’instruction ALTER ROLE avec l’option ADD MEMBER
. Joignez-vous à sys.database_principals pour retourner les noms des principal_id
valeurs.
Nom de la colonne | Type de données | Description |
---|---|---|
role_principal_id | int | ID du principal de base de données du rôle. |
member_principal_id | int | ID du principal de base de données du membre. |
autorisations
Tout utilisateur peut consulter sa propre appartenance au rôle. Pour afficher d’autres appartenances aux rôles, vous devez être membre du db_securityadmin
rôle de base de données fixe ou VIEW DEFINITION
de la base de données.
La visibilité des métadonnées dans les affichages catalogue est limitée aux éléments sécurisables qu'un utilisateur détient ou pour lesquels des autorisations lui ont été accordées. Pour plus d'informations, consultez Metadata Visibility Configuration.
Exemple
La requête suivante retourne les membres des rôles de base de données.
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;
Voir aussi
Affichages catalogue liées à la sécurité (Transact-SQL)
Principaux (moteur de base de données)
Affichages catalogue (Transact-SQL)
ALTER ROLE (Transact-SQLL)
sys.server_role_members (Transact-SQL)