2011-10-06 8 views

risposta

-4

credo che la query di seguito elencati deve elencare gli utenti ei ruoli di un unico database

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 

O per tutti i DB su un'istanza di SQL è possibile utilizzare 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' 
+1

Non funziona in Azure. –

28

I punti di vista sono cambiati i nomi, ma i seguenti dovrebbero funzionare contro 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 
+1

Questa risposta è esattamente ciò che è richiesto in SQL Azure (per il quale la domanda è contrassegnata). –

Problemi correlati