Partilhar via


sys.database_role_members (Transact-SQL)

Aplica-se a:SQL ServerBase de Dados SQL do AzureInstância Gerida do Azure SQLAzure Synapse AnalyticsSistema de Plataforma de Análise (PDW)Ponto de Extremidade de Análise SQL no Microsoft FabricArmazém no Microsoft FabricBase de Dados SQL 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 nomes dos principal_id valores.

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

Permissions

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

A visibilidade dos metadados nas visualizações de catálogo é limitada aos itens de segurança que um utilizador possui ou nos quais o utilizador recebeu alguma permissão. Para obter mais informações, consulte Configuração de visibilidade de metadados.

Example

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;  

Ver também

Visualizações do catálogo de segurança (Transact-SQL)
Principais (Motor de Base de Dados)
Visualizações do catálogo (Transact-SQL)
ALTER PAPEL (Transact-SQLL)
sys.server_role_members (Transact-SQL)