/***************************************************************************** * Retrieve members of db_owner for each database *****************************************************************************/ declare @xServer varchar(50), @xDB varchar(50), @xSQL varchar(512) -- Initialize Variables create table #Results( [Database] varchar(50), [User] varchar(50) ) -- Check User Databases declare db_cur cursor for select name from master..sysdatabases where name not in('master', 'tempdb', 'msdb', 'model', 'northwind', 'pubs') and status & 512 != 512 for read only open db_cur fetch next from db_cur into @xDB while(@@fetch_status = 0) begin -- Members of db_owner set @xSQL = ' insert into #Results([Database], [User]) select ''' + @xDB + ''', u.name from ' + @xDB + '..sysusers d, ' + @xDB + '..sysmembers m, ' + @xDB + '..sysusers u where m.groupuid = d.uid and m.memberuid = u.uid' exec(@xSQL) fetch next from db_cur into @xDB end close db_cur deallocate db_cur select @xServer = srvname from master..sysservers where srvid = 0 select Server, [Database], [User] from ( select distinct 1 ord, @xServer [Server], * from #Results where [Database] = 'SysAdmin' union select 2, @xServer [Server], * from #Results ) a order by ord drop table #Results