sys.database_role_members (Transact-SQL)

Aplica-se a:SQL ServerBanco de Dados SQL do AzureInstância Gerenciada de SQL do AzureAzure Synapse AnalyticsPDW (Analytics Platform System)Ponto de extremidade de SQL no Microsoft FabricWarehouse no Microsoft Fabric

Retorna uma linha para cada membro de cada função de banco de dados. Usuários de banco de dados, funções de aplicativo e outras funções de banco de dados podem ser membros de uma função de banco de dados. Para adicionar membros a uma função, use a instrução ALTER ROLE com a ADD MEMBER opção. Junte-se a sys.database_principals para retornar os principal_id nomes dos valores.

Nome da coluna Tipo de dados Descrição
role_principal_id int ID da entidade de banco de dados da função.
member_principal_id int ID principal do banco de dados do membro.

Permissões

Qualquer usuário pode exibir a própria associação de função. Para exibir outras associações de função, é necessário ser associado à db_securityadmin função de banco de dados fixa ou VIEW DEFINITION ao banco de dados.

A visibilidade dos metadados em exibições de catálogo é limitada a protegíveis que um usuário possui ou nos quais o usuário recebeu alguma permissão. Para obter mais informações, consulte Metadata Visibility Configuration.

Exemplo

A consulta a seguir retorna os membros das funções de banco de dados.

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;  

Confira também

Exibições do catálogo de segurança (Transact-SQL)
Entidades (Mecanismo de Banco de Dados)
Exibições do Catálogo (Transact-SQL)
FUNÇÃO ALTER (Transact-SQLL)
sys.server_role_members (Transact-SQL)