Thanks for giving me something to chew on. Another way to do this is something like this:
DECLARE @DatabaseName VARCHAR(126)
DECLARE @Object VARCHAR(126)
DECLARE @dbList TABLE(DatabaseName VARCHAR(126), QualifiedName VARCHAR(MAX))
--Enter object you are trying to find:
-- (The object name MAY contain schema.
-- If it does, that will be added to the search criteria)
SET @Object = '<<object name>>'
DECLARE @SQL VARCHAR(MAX)
SET @SQL = 'USE [?];DECLARE @db VARCHAR(100) = ''?'';
DECLARE @schemaId INT = SCHEMA_ID(PARSENAME(''' + @Object + ''',2))
DECLARE @objectName VARCHAR(128) = PARSENAME(''' + @Object + ''',1)
IF (SELECT COUNT(0) FROM sys.objects WHERE name = @objectName) > 0
SELECT @db [db_name],
''[''+@db+''].[''+OBJECT_SCHEMA_NAME(object_id)+''].[''+@objectName+'']''
FROM sys.objects WHERE name = @objectName
AND (@schemaId IS NULL OR schema_id = @schemaId )'
INSERT INTO @dbList
EXEC sp_MSforeachdb @SQL
SELECT * FROM @dbList ORDER BY 1