this is just a prototype for a single database, but it's easily adaptable i think.
I'm assuming that the current server has all the linked servers....so I thought why not search for the actual linked server name? ie "MACHINENAME\SQLEXPRESS" or whatever...to make it more specific, you could add a period to search for 'linkedserver.' instead of 'linkedserver'
It worked on a new proc i created just fine.
declare @LinkedServers table(
SRV_NAME varchar(128),
SRV_PROVIDERNAME varchar(128),
SRV_PRODUCT varchar(128),
SRV_DATASOURCE varchar(128),
SRV_PRIVIDERSTRING varchar(128),
SRV_LLOCATION varchar(128),
SRV_CAT varchar(128)
)
INSERT INTO @LinkedServers
EXEC sp_linkedservers
SELECT SRV_NAME FROM @LinkedServers
select *
from syscomments cross join @LinkedServers x
where charindex(x.SRV_NAME,syscomments.TEXT) > 1
Lowell