Sidebar

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.

Tips BD