Este script veio direto do site :https://forum.imasters.com.br/topic/394940-resolvido%C2%A0lista-de-usu%C3%A1rios-e-suas-permiss%C3%B5es/
Quem postou foi o Sr. A.Jr aconselho uma visita na pagina dele https://forum.imasters.com.br/profile/43275-ajr/ vale a pena.
IF EXISTS (SELECT * FROM TEMPDB.dbo.sysobjects WHERE NAME IN ('##Users')) BEGIN DROP TABLE ##Users END GO IF EXISTS (SELECT * FROM TEMPDB.dbo.sysobjects WHERE NAME IN (N'##ACESSO')) BEGIN DROP TABLE ##ACESSO END GO CREATE TABLE ##Users ( [sid] varbinary(100) NULL, [Login Name] varchar(100) NULL ) CREATE TABLE ##ACESSO ([uSER ID] VARCHAR(MAX), [sERVER LOGIN] VARCHAR(MAX), [DATABASE ROLE] VARCHAR(MAX), [DATABASE] VARCHAR(MAX)) declare @cmd1 nvarchar(500) declare @cmd2 nvarchar(500) set @cmd1 = ' INSERT INTO ##Users ([sid],[Login Name]) SELECT sid, loginname FROM master.dbo.syslogins INSERT INTO ##ACESSO SELECT su.[name] , u.[Login Name] , sug.name , ''?'' FROM [?].[dbo].[sysusers] su LEFT OUTER JOIN ##Users u ON su.sid = u.sid LEFT OUTER JOIN ([?].[dbo].[sysmembers] sm INNER JOIN [?].[dbo].[sysusers] sug ON sm.groupuid = sug.uid) ON su.uid = sm.memberuid WHERE su.hasdbaccess = 1 AND su.[name] != ''dbo'' ' exec sp_MSforeachdb @command1=@cmd1 SELECT * FROM ##ACESSO GROUP BY [uSER ID] , [sERVER LOGIN] , [DATABASE ROLE] , [DATABASE]