Al hacer una consulta sobre varias bases de datos en el servidor SQL (2005+) Me resulta a veces NECESARIO para excluir la base de datos del sistema (master, model, tempdb, msdb y distribución)¿Es posible consultar las bases de datos del sistema en el servidor SQL sin utilizar los nombres?
¿Hay alguna otra forma de filtrar estos además
where name not in (''master', 'model', 'tempdb', 'msdb', 'distribution')
he mirado en sys.databases y master.dbo.sysdatabases (no es lo mismo!)
[ACTUALIZACIÓN] una consulta de ejemplo que utilizo para buscar bases de datos que tienen habilitada logshipping
select d.name, p.last_backup_date, s.secondary_server, s.secondary_database
from sys.databases d
left outer join msdb..log_shipping_primary_databases p on p.primary_database = d.name
left outer join msdb..log_shipping_primary_secondaries s on s.primary_id = p.primary_id
where name not in ('model','master','tempdb','distribution','msdb')
order by d.name
[ACTUALIZACIÓN] ¿Esta parece ser la forma "menos mala", a menos que alguien más tenga una mejor manera?
SELECT * FROM
master.sys.databases AS dtb
WHERE (dtb.database_id < 5 or dtb.is_distributor = 1)
¿Podría darnos un ejemplo de las consultas que está ejecutando? – Codesleuth
Ejemplo de consulta agregada. – edosoft