Sdílet prostřednictvím


sys.database_role_members (Transact-SQL)

Platí pro:SQL ServerAzure SQL DatabaseSpravovaná instance Azure SQLAzure Synapse AnalyticsAnalytics Platform System (PDW)Koncový bod analýzy SQL v Microsoft FabricSklad v Microsoft FabricDatabáze SQL v Microsoft Fabric

Vrátí jeden řádek pro každého člena každé databázové role. Uživatelé databáze, aplikační role a další databázové role můžou být členy databázové role. Chcete-li přidat členy do role, použijte příkaz ALTER ROLE s ADD MEMBER možností. Spojte se s sys.database_principals a vraťte názvy principal_id hodnot.

Název sloupce Datový typ Description
role_principal_id int ID instančního objektu databáze role.
member_principal_id int ID objektu zabezpečení databáze člena.

Permissions

Každý uživatel může zobrazit své vlastní členství v rolích. Pokud chcete zobrazit další členství v rolích, vyžaduje členství v db_securityadmin pevné databázové roli nebo VIEW DEFINITION v databázi.

Viditelnost metadat v zobrazeních katalogu je omezena na položky, které uživatel vlastní, nebo na které má uživatel udělené určité oprávnění. Další informace naleznete v kapitole Konfigurace viditelnosti metadat.

Example

Následující dotaz vrátí členy databázových rolí.

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;  

Viz také

Zobrazení katalogu zabezpečení (Transact-SQL)
Hlavní subjekty (databázový stroj)
zobrazení katalogu (Transact-SQL)
ALTEROVÁ ROLE (Transact-SQLL)
sys.server_role_members (Transact-SQL)