Sidebar

Algunas veces es necesario buscar una cadena dentro de todos los SP existentes dentro de un servidor de base de datos. Este script te ayuda a resolver este problema.

Solo substituya la palabra palabra_a_buscar y ejecute el script. También puede crear un SP que tome como variable de entrada @cadena.

DECLARE @cadena varchar(50), @bd varchar(50), @str varchar(250), @servidor varchar(30)
select @servidor = @@servername
print 'Servidor ' + @servidor

select @cadena = 'palabra_a_buscar'
DECLARE bdcursor cursor for
 select name from sysdatabases where name not in ('master','tempdb','msdb')
open bdcursor
fetch bdcursor into @bd
WHILE @@FETCH_STATUS = 0
 BEGIN
  select @str = 'select  a.name as objeto from ' + @bd + '..sysobjects a, '+ @bd + '..syscomments b where a.id = b.id and b.text like ''%' + @cadena + '%'''  
  print 'Buscando en ' + @bd + ' la cadena ' + @cadena
  --print @str
  exec(@str)
  fetch bdcursor into @bd
 END
DEALLOCATE bdcursor

Tips BD