El siguiente procedure es muy útil cuando queremes ejecutar un mismo comando sobre cada una de las bases de datos en SQL Server.
Anexo un ejemplo que muestra los roles existentes en cada una de las bases de datos de un servidor de SQL Server.
exec sp_msForEachDb ' use [?] select db_name() as [database_name], r.[name] as [role], p.[name] as [member] from sys.database_role_members m join sys.database_principals r on m.role_principal_id = r.principal_id join sys.database_principals p on m.member_principal_id = p.principal_id where r.name = ''db_owner'''Como pueden ver es muy sencillo de utilizar, pero recuerden que es un procedimiento indocumentado por lo que podria desaparecer en un futuro, asi que usenlo con cautela.