用户分配了sql azure角色

use*_*732 14 sql security-roles azure-sql-database

我正在努力确保为所有用户分配了特定角色.是否有任何视图或SQL查询来获取此信息?

小智 29

视图已更改名称,但以下内容应对SQL Azure起作用

select m.name as Member, r.name as Role
from sys.database_role_members
inner join sys.database_principals m on sys.database_role_members.member_principal_id = m.principal_id
inner join sys.database_principals r on sys.database_role_members.role_principal_id = r.principal_id
Run Code Online (Sandbox Code Playgroud)


小智 -4

我相信下面列出的查询应该列出单个数据库的用户和角色

select b.name as USERName, c.name as RoleName  from dbo.sysmembers a   join dbo.sysusers b   on a.memberuid = b.uid join dbo.sysusers c  on a.groupuid = c.uid
Run Code Online (Sandbox Code Playgroud)

或者对于 SQL 实例上的所有数据库,您可以使用 sp_MSForEachDB

Exec dbo.sp_MSForEachDB 'select ''?'' as DB, b.name as USERName, c.name as RoleName  from dbo.sysmembers a   join dbo.sysusers b   on a.memberuid = b.uid join dbo.sysusers c  on a.groupuid = c.uid'
Run Code Online (Sandbox Code Playgroud)