sys.database_role_members (Transact-SQL)
Si applica a: SQL Server database SQL di Azure Istanza gestita di SQL di Azure endpoint di analisi SQL di Azure Synapse Analytics Platform System (PDW) in Microsoft Fabric Warehouse nel database SQL di Microsoft Fabric in Microsoft Fabric
Restituisce una riga per ogni membro di ogni ruolo del database. Gli utenti del database, i ruoli applicazione e altri ruoli del database possono essere membri di un ruolo del database. Per aggiungere membri a un ruolo, usare l'istruzione ALTER ROLE con l'opzione ADD MEMBER
. Creare un join con sys.database_principals per restituire i nomi dei principal_id
valori.
Nome colonna | Tipo di dati | Descrizione |
---|---|---|
role_principal_id | int | ID dell'entità di database del ruolo. |
member_principal_id | int | ID dell'entità di database del membro. |
Autorizzazioni
Qualsiasi utente può visualizzare la propria appartenenza al ruolo. Per visualizzare altre appartenenze ai ruoli è necessaria l'appartenenza al ruolo predefinito del db_securityadmin
database o VIEW DEFINITION
al database.
La visibilità dei metadati nelle viste del catalogo è limitata alle entità a protezione diretta di cui l'utente è proprietario o per le quali dispone di autorizzazioni. Per altre informazioni, vedere Metadata Visibility Configuration.
Esempio
La query seguente restituisce i membri dei ruoli del database.
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;
Vedi anche
Viste del catalogo della sicurezza (Transact-SQL)
Entità di sicurezza (Motore di database)
Viste del catalogo (Transact-SQL)
ALTER ROLE (Transact-SQLL)
sys.server_role_members (Transact-SQL)