Delen via


sys.database_role_members (Transact-SQL)

Van toepassing op:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)SQL Analytics-eindpunt in Microsoft FabricMagazijn in Microsoft FabricSQL-database in Microsoft Fabric Preview

Retourneert één rij voor elk lid van elke databaserol. Databasegebruikers, toepassingsrollen en andere databaserollen kunnen lid zijn van een databaserol. Als u leden aan een rol wilt toevoegen, gebruikt u de instructie ALTER ROLE met de ADD MEMBER optie. Neem deel aan sys.database_principals om de namen van de principal_id waarden te retourneren.

Column name Data type Description
role_principal_id int Database-principal-id van de rol.
member_principal_id int Database-principal-id van het lid.

Permissions

Elke gebruiker kan zijn eigen rollidmaatschap bekijken. Als u andere rollidmaatschappen wilt weergeven, moet u lid zijn van de db_securityadmin vaste databaserol of VIEW DEFINITION de database.

De zichtbaarheid van de metagegevens in catalogusweergaven is beperkt tot beveiligbare items waarvan een gebruiker eigenaar is of waarvoor de gebruiker een bepaalde machtiging heeft gekregen. Zie Zichtbaarheidsconfiguratie voor metagegevensvoor meer informatie.

Example

De volgende query retourneert de leden van de databaserollen.

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;  

See Also

Beveiligingscatalogusweergaven (Transact-SQL)
Principals (Databasemotor)
catalogusweergaven (Transact-SQL)
ALTER ROLE (Transact-SQLL)
sys.server_role_members (Transact-SQL)