If you know what characters you are searching for:
CREATE TABLE ##TempTables
(
ROWID BIGINT NOT NULL IDENTITY(1,1) PRIMARY KEY
,[TableName] VARCHAR(MAX)
,[ColName] VARCHAR(MAX)
,[Found] int
)
DECLARE @Loop INT
DECLARE @LoopMAX INT
DECLARE @SQL VARCHAR(max)
DECLARE @Value VARCHAR(max)
DECLARE @ValueNew VARCHAR(max)
DECLARE @ColName VARCHAR(max)
DECLARE @tblName VARCHAR(max)
--***************************************
--TYPE IN THE VALUE YOU LOOKING FOR BELOW
--***************************************
SELECT @Value = 'Raiders'
--***************************************
--INSERT ALL TABLE NAMES AND COLUMS HERE
INSERT INTO ##TempTables
(
[TableName]
,[ColName]
,[Found]
)
SELECT
[T].[Name] as [TableName]
,[C].[Name] as [ColName]
, 0 as [found]
FROM sys.tables [T]
INNER JOIN sys.Columns [C]
ON [C].[Object_ID] = [T].[Object_ID]
SELECT
@Loop = 1
,@LoopMAX = MAX(ROWID)
FROM ##TempTables
WHILE (@Loop <= @LoopMAX)
BEGIN
SELECT
@ColName = [ColName]
,@tblName = [TableName]
FROM ##TempTables
WHERE ROWID = @Loop
SELECT @SQL =
'IF EXISTS(SELECT ' + @ColName + ' FROM ' + @tblName + ' WHERE CAST(' + @ColName + ' as VARCHAR(max))= ''' + @Value + ''')
BEGIN
UPDATE ##TempTables SET FOUND = 1 Where ROWID = '+ cast(@Loop as varchar(max)) +'
END'
EXEC (@SQL)
SET @Loop = @Loop + 1
END
SELECT
*
FROM ##TempTables
WHERE Found = 1
DROP TABLE ##TempTables