Sto cercando di assicurarsi che a tutti gli utenti sia stato assegnato un ruolo particolare. C'è qualche vista o query SQL per ottenere queste informazioni?gli utenti hanno assegnato un ruolo sql azzurro
13
A
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'
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). –
Non funziona in Azure. –