sys.database_role_members (Transact-SQL)
Aplica-se a: SQL Server Banco de Dados SQL do Azure Instância Gerenciada de SQL do Azure Azure Synapse Analytics PDW (Analytics Platform System) Ponto de extremidade de análise de SQL no Microsoft Fabric Warehouse 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 | Descrição |
---|---|---|
role_principal_id | int | ID da entidade de segurança do banco de dados da função. |
member_principal_id | int | ID da entidade de segurança do banco de dados do membro. |
Permissões
Qualquer usuário pode exibir a própria associação de função. Para exibir associações de outras funções, é necessário que a associação seja na função de banco de dados fixa db_securityadmin
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;
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)
ALTER ROLE (Transact-SQLL)
sys.server_role_members (Transact-SQL)