пользователям назначена роль sql azure - PullRequest
14 голосов
/ 06 октября 2011

Я пытаюсь убедиться, что всем пользователям назначена определенная роль. Есть ли представление или SQL-запрос для получения этой информации?

Ответы [ 2 ]

29 голосов
/ 20 февраля 2012

Представления изменили имена, но следующие должны работать с 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
0 голосов
/ 29 ноября 2011

Я полагаю, что в приведенном ниже запросе должны быть перечислены пользователи и роли одной базы данных

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

Или для всех БД в экземпляре 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'
...