Query for searching the entire database for a string value
To run this query in your own senerio, just change the ‘Cal’ to any string you desire
DECLARE @Database Varchar(255) DECLARE @Schema Varchar(255) DECLARE @TableName Varchar(255) DECLARE @ColumnName Varchar(255) DECLARE @SqlCmd Varchar(255) DECLARE @Search Varchar(1000) SET @Search = 'Gary' SET @Search = '''%'+@Search+'%''' --PRINT @Search -- create temp table CREATE TABLE #Results (TableName Varchar(255), ColumnName Varchar(255), Value Varchar(1000)) -- DROP TABLE #Results DECLARE cur CURSOR READ_ONLY FOR SELECT A.TABLE_CATALOG, A.TABLE_SCHEMA, A.TABLE_NAME, B.COLUMN_NAME FROM INFORMATION_SCHEMA.TABLES A LEFT OUTER JOIN INFORMATION_SCHEMA.COLUMNS B ON A.TABLE_NAME = B.TABLE_NAME WHERE A.TABLE_TYPE = 'BASE TABLE' OPEN cur FETCH NEXT FROM cur INTO @Database, @Schema, @TableName, @ColumnName WHILE @@FETCH_STATUS = 0 BEGIN --PRINT @Database, @Schema, @TableName, @ColumnName PRINT '@Database: '+@Database PRINT '@Schema: '+@Schema PRINT '@TableName: '+@TableName PRINT '@ColumnName: '+@ColumnName SET @SqlCmd = 'INSERT INTO #Results (TableName, ColumnName, Value)' SET @SqlCmd = @SqlCmd + ' SELECT '''+@TableName+''','''+@ColumnName+''',['+@ColumnName+'] FROM '+@Database+'.'+@Schema+'.'+@TableName+' WHERE ['+@ColumnName+'] LIKE '+@Search PRINT @SqlCmd exec (@SqlCmd) FETCH NEXT FROM cur INTO @Database, @Schema, @TableName, @ColumnName END CLOSE cur DEALLOCATE cur SELECT * FROM #Results DROP TABLE #Results