在做了在SQL服務器的多個數據庫查詢(2005+)我覺得有時necesary排除系統數據庫(大師,模型,tempdb數據庫,MSDB和分發)是否可以在不使用名稱的情況下查詢SQL服務器中的系統數據庫?
是否有除了過濾這些任何其他方式
where name not in (''master', 'model', 'tempdb', 'msdb', 'distribution')
我看sys.databases中和master.dbo.sysdatabases中(不一樣的!)
[更新]我用它來尋找那些具有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
[更新]這似乎是'最壞'的方式,除非別人有更好的方法?
SELECT * FROM
master.sys.databases AS dtb
WHERE (dtb.database_id < 5 or dtb.is_distributor = 1)
你能給我們舉一個你正在運行什麼查詢的例子嗎? – Codesleuth 2010-08-03 14:04:27
添加了示例查詢。 – edosoft 2010-08-03 14:15:18