Bei einer Abfrage über mehrere Datenbanken im SQL Server (2005+) finde ich es manchmal notwendig, die Systemdatenbank (Master, Model, tempdb, msdb und distribution) auszuschließenIst es möglich, die Systemdatenbanken im SQL-Server abzufragen, ohne die Namen zu verwenden?
Gibt es eine andere Möglichkeit, diese zu filtern
where name not in (''master', 'model', 'tempdb', 'msdb', 'distribution')
ich habe bei sys.databases und master.dbo.sysdatabases sah (nicht dasselbe!)
[UPDATE] ein Beispiel Abfrage, die ich für Datenbanken suchen verwenden, die Logshipping
aktiviert habenselect 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
[UPDATE] Dies scheint der "schlechteste" Weg zu sein, es sei denn, jemand anders hat einen besseren Weg?
SELECT * FROM
master.sys.databases AS dtb
WHERE (dtb.database_id < 5 or dtb.is_distributor = 1)
Können Sie uns ein Beispiel dafür geben, welche Abfragen Sie ausführen? – Codesleuth
Beispiel Abfrage hinzugefügt. – edosoft