declare @i int
declare @tbl varchar(50)
declare @col varchar(50)
declare @sql varchar(2000)
declare @out bigint
declare @search varchar(100)
create table #TEMP (id int identity (1,1), colname varchar(50), tblname varchar(50))
Insert Into #Temp(colName, tblName)
Select C.Column_Name, C.Table_Name
From Information_Schema.Tables As T
Inner Join Information_Schema.Columns As C
On T.Table_Name = C.Table_Name
Where T.Table_Type = 'Base Table'
And C.Data_Type In ('char', 'nchar','varchar','nvarchar')
set @search = '''Administrator'''
set @i = 1
Create Table #Out(TableName varchar(200), FieldName VarChar(200))
While @i <= (select max(id) from #TEMP)
Begin
select @tbl = tblname,
@col = ColName
from #temp
where ID = @i
set @sql = 'If Exists(select *
from [' + @tbl + ']
where convert(varchar(500), [' + @col + ']) = ' + @search + '
)
Insert Into #Out(TableName, FieldName) Values(''' + @tbl + ''',''' + @col + ''')'
execute (@sql)
set @i = @i + 1
End
drop table #TEMP
Select * From #Out
Drop Table #Out