sys.database_role_members (Transact-SQL)

Aplica-se a:banco de dados SQL Server SQL do AzureInstância Gerenciada de SQL do Azure Azure SynapsePDW (Analytics Analytics Platform System)

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 opção ADD MEMBER . Junte-se a sys.database_principals para retornar os nomes dos principal_id 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 da entidade de 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 associação na db_securityadmin função de banco de dados fixa ou VIEW DEFINITION no banco de dados.

A visibilidade dos metadados em exibições do catálogo está limitada aos protegíveis que pertencem a um usuário ou para os quais o usuário recebeu 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;  

Consulte 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)
ALTER ROLE (Transact-SQLL)
sys.server_role_members (Transact-SQL)