viernes, 19 de marzo de 2010

Script para buscar cadena en Bases de Datos

Utiliza este script para buscar cualquier cadena (Campo, SP, Vista, Function, etc) en una o varias Bases de Datos, debes estar conectado a la base de datos Master de tu servidor para que funcione.


DECLARE @cadena varchar(50),
@bd varchar(50),
@str varchar(1024),
@servidor varchar(30)

select @servidor = @@servername

print 'Local Server: ' + @servidor + ''

select @cadena = 'session_id = 300'

DECLARE bdcursor cursor for select name from sysdatabases where name not in ('NADA')

open bdcursor
fetch bdcursor into @bd

WHILE @@FETCH_STATUS = 0
BEGIN
select @str = 'select '''
+ @bd + '''' + ' as DB, '
+ 'a.name as objeto, '
+ 'a.type as type, '
+ '''...'' + SUBSTRING(b.text, CHARINDEX(''' + @cadena + ''', b.text) - 60, LEN(''' + @cadena + ''') + 120) + ''...''' + ' as previo '
+ 'from '
+ @bd + '..sysobjects a, '
+ @bd + '..syscomments b '
+ 'where '
+ 'a.id = b.id '
+ 'and b.text like ''%' + @cadena + '%'''
+ ' order by objeto'

print 'Buscando en DB: [' + @bd + ' ] -- Cadena: [' + @cadena + ']'
--print @str
exec(@str)

fetch bdcursor into @bd
END

DEALLOCATE bdcursor

No hay comentarios:

Publicar un comentario