Home All Groups Group Topic Archive Search About

View fails though underlying query works in QueryAnalyzer

Author
15 Sep 2006 3:03 PM
Blue Sky
I have a view examing the msdb databases across 17 servers to tell me the
location of all the latest database backupfiles. 
I use linked servers to connect to the remote servers.
When i run the query, it runs in about 22 seconds.
When i run the view it either never stops running (i cancelled after 22
minutes!)

Any help would be appreciated.

Here's the (abbreviated) code:

select 'ItdSqlCA' AS Server, sdb.name , mf.physical_device_name, s.type,
s.backup_start_date, s.backup_finish_date, s.database_name
, CASE WHEN sdb.dbid < 5 then 'System' else 'user' end as DbType
FROM             msdb.dbo.backupmediafamily mf
    inner JOIN     msdb.dbo.backupset s on mf.media_set_id = s.media_set_id
    INNER JOIN
            (    SELECT Max(backup_start_date) AS lastbackup, database_name
                FROM msdb.dbo.backupset  WHERE type = 'D'
                GROUP BY database_name
            ) maxdate ON maxdate.database_name = s.database_name and
maxdate.lastbackup = s.backup_start_date
    RIGHT JOIN master.dbo.sysdatabases sdb ON sdb.name = s.database_name
        where sdb.name <> 'tempdb' AND sdb.name <> 'model'

union
select 'bjdb', sdb.name , mf.physical_device_name, s.type,
s.backup_start_date, s.backup_finish_date, s.database_name
, CASE WHEN sdb.dbid < 5 then 'System' else 'user' end as DbType
FROM             bjdb.msdb.dbo.backupmediafamily mf
    inner JOIN     bjdb.msdb.dbo.backupset s on mf.media_set_id = s.media_set_id
    INNER JOIN
            (    SELECT Max(backup_start_date) AS lastbackup, database_name
                FROM bjdb.msdb.dbo.backupset  WHERE type = 'D'
                GROUP BY database_name
            ) maxdate ON maxdate.database_name = s.database_name and
maxdate.lastbackup = s.backup_start_date
    RIGHT JOIN bjdb.master.dbo.sysdatabases sdb ON sdb.name = s.database_name
        where sdb.name <> 'tempdb' AND sdb.name <> 'model'

--
The Spirit gives life; the flesh counts for nothing!  (Jn 6:63)

AddThis Social Bookmark Button