@echo off
echo Object Name ?
set /p obj=
echo set nocount on > ./tmp.sql
echo if exists(SELECT 1 FROM tempdb.dbo.sysobjects >> ./tmp.sql
echo WHERE name = '##db' AND type in (N'U')) >> ./tmp.sql
echo drop table ##db >> ./tmp.sql
echo if exists(SELECT 1 FROM tempdb.dbo.sysobjects >> ./tmp.sql
echo WHERE name = '##tmp' AND type in (N'U')) >> ./tmp.sql
echo drop table ##tmp >> ./tmp.sql
echo create table ##tmp >> ./tmp.sql
echo ( >> ./tmp.sql
echo dbname sysname, >> ./tmp.sql
echo objname sysname >> ./tmp.sql
echo ) >> ./tmp.sql
echo declare @dbname sysname >> ./tmp.sql
echo declare @sqlcmd sysname >> ./tmp.sql
echo select name into ##db from master..sysdatabases >> ./tmp.sql
echo where lower(name) not in ('aud','security') order by dbid >> ./tmp.sql
echo while exists(select 1 from ##db) >> ./tmp.sql
echo begin >> ./tmp.sql
echo select top 1 @dbname=name from ##db >> ./tmp.sql
echo set @sqlcmd=N'insert into ##tmp select ''' + @dbname >> ./tmp.sql
echo +''', name from '+ @dbname+ '..sysobjects' >> ./tmp.sql
echo +' where name like ''%%%obj%%%''' >> ./tmp.sql
echo exec(@sqlcmd) >> ./tmp.sql
echo delete from ##db where name=@dbname >> ./tmp.sql
echo end >> ./tmp.sql
echo select dbname DB_Name, objname Object_Name from ##tmp >> ./tmp.sql
echo if exists(SELECT 1 FROM tempdb.dbo.sysobjects >> ./tmp.sql
echo WHERE name = '##tmp' AND type in (N'U')) >> ./tmp.sql
echo drop table ##tmp >> ./tmp.sql
echo if exists(SELECT 1 FROM tempdb.dbo.sysobjects >> ./tmp.sql
echo WHERE name = '##db' AND type in (N'U')) >> ./tmp.sql
echo drop table ##db >> ./tmp.sql
echo set nocount off >> ./tmp.sql
echo Server Name which you want to search objects on ?
set /p srvname=
echo DBA Account?
set /p user=
sqlcmd -S%srvname% -U%user% -y30 -Y30 -v SQLCMDEDITOR="uedit32.exe" -i"./tmp.sql"
del ./tmp.sql
pause