search all tables field names
	
	
	
		
search procs & views for a keyword
	
	
	
		
search tables for a keyword
	
	
	
		
			
			
		SQL:
	
	SELECT     c.name AS 'ColumnName'
           ,(SCHEMA_NAME(t.schema_id) + '.' + t.name) AS 'TableName'
FROM       sys.columns c
JOIN       sys.tables t  ON c.object_id = t.object_id
WHERE      c.name LIKE '%TOM%'
ORDER BY   TableName
           ,ColumnName;search procs & views for a keyword
		SQL:
	
	SELECT DISTINCT
   o.name AS ObjectName,
   o.type_desc AS ObjectType
FROM sys.objects o
INNER JOIN sys.sql_modules m ON o.object_id = m.object_id
WHERE o.type IN ('P', 'V') -- P for procedures, V for views
   AND m.definition LIKE '%TOM%'
ORDER BY ObjectType, ObjectName;search tables for a keyword
		SQL:
	
	DECLARE @SearchKeyword NVARCHAR(100) = 'TOM'; -- Replace with your keyword
DECLARE @SQL NVARCHAR(MAX) = '';
DECLARE @TableName NVARCHAR(256);
DECLARE @ColumnName NVARCHAR(256);
-- Cursor to iterate through all tables and columns
DECLARE db_cursor CURSOR FOR
SELECT
   TABLE_NAME,
   COLUMN_NAME
FROM
   INFORMATION_SCHEMA.COLUMNS
WHERE
   DATA_TYPE IN ('char', 'varchar', 'nchar', 'nvarchar', 'text', 'ntext'); -- Adjust data types as needed
OPEN db_cursor;
FETCH NEXT FROM db_cursor INTO @TableName, @ColumnName;
WHILE @@FETCH_STATUS = 0
BEGIN
   SET @SQL = @SQL + 'SELECT ''' + @TableName + ''' AS TableName, ''' + @ColumnName + ''' AS ColumnName, ' + QUOTENAME(@ColumnName) + ' AS Value ' +
               'FROM ' + QUOTENAME(@TableName) + ' WHERE ' + QUOTENAME(@ColumnName) + ' LIKE ''%' + @SearchKeyword + '%'' UNION ALL ';
  
   FETCH NEXT FROM db_cursor INTO @TableName, @ColumnName;
END
CLOSE db_cursor;
DEALLOCATE db_cursor;
-- Remove the last 'UNION ALL'
IF LEN(@SQL) > 0
BEGIN
   SET @SQL = LEFT(@SQL, LEN(@SQL) - 10); -- Remove the last 'UNION ALL'
  
   -- Print the generated SQL for debugging
   --PRINT @SQL;
   -- Execute the dynamic SQL
   EXEC sp_executesql @SQL;
END
ELSE
BEGIN
   PRINT 'No matching columns found.';
END