Udostępnij za pomocą


sys.database_role_members (Transact-SQL)

Dotyczy:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)Punkt końcowy analizy SQL w usłudze Microsoft FabricHurtownia danych w usłudze Microsoft FabricBaza danych SQL w usłudze Microsoft Fabric

Zwraca jeden wiersz dla każdego elementu członkowskiego każdej roli bazy danych. Użytkownicy bazy danych, role aplikacji i inne role bazy danych mogą być członkami roli bazy danych. Aby dodać członków do roli, użyj instrukcji ALTER ROLE z opcją ADD MEMBER . Połącz się z sys.database_principals , aby zwrócić nazwy principal_id wartości.

Nazwa kolumny Typ danych Description
role_principal_id int Identyfikator podmiotu zabezpieczeń bazy danych roli.
member_principal_id int Identyfikator podmiotu członkowskiego jednostki bazy danych.

Permissions

Każdy użytkownik może wyświetlać własne członkostwo w roli. Aby wyświetlić inne członkostwa w rolach ról, wymagane jest członkostwo w stałej db_securityadmin roli bazy danych lub VIEW DEFINITION w bazie danych.

Widoczność metadanych w widokach katalogu jest ograniczona do obiektów, których właścicielem jest użytkownik lub w stosunku do których użytkownik ma jakieś uprawnienia. Aby uzyskać więcej informacji, zobacz Konfiguracja widoczności metadanych.

Example

Poniższe zapytanie zwraca elementy członkowskie ról bazy danych.

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;  

Zobacz też

Widoki wykazu zabezpieczeń (Transact-SQL)
Podmioty (aparat bazy danych)
Widoki Katalogu (Transact-SQL)
ROLA ALTERA (Transact-SQLL)
sys.server_role_members (Transact-SQL)