But you know the table name, right? You can join sys.columns, sys.tables, and sys.types to get column name and type for all columns in a specific (or all) tables. This can be used to greate a dynamic SQL statement (nvarchar(max) string) which you in turn invoke with sp_executesql.
You'll have to do some fixup for yourself, as I don't have a SQL Server at hand now.
@sql = '
select * from ['+@table+']
@sql = @sql + ' or ['+sc.name+'] like '''+@text_to_find+''''
sys.columns sc on
sc.object_id = st.object_id
sys.types styp on
sc.sytem_type_id = styp.system_type_id and
sc.user_type_id = styp.user_type_id
styp.system_type_id in ('+@datatypes+')';
exec sp_executesql @sql
You may want to create a procedure out of it, or at leat @datatypes, @text_to_find and @table has to be a paramter, or replaced. This should be enough for you to make it I think.