How to Search Text in Sql Server Database

  1. declare @SearchStr varchar(max)= 'File' declare @Results as table  
  2. (  
  3. ColumnName varchar(max),  
  4. ColumnValue varchar(max)  
  5. )  
SET NOCOUNT ON
  1. DECLARE @TableName varchar(max),  
  2. @ColumnName varchar(max),  
  3. @SearchStr2 varchar(max)  
  4. SET  
  5. @TableName = ''  
  6. SET  
  7. @SearchStr2 = QUOTENAME('%' + @SearchStr + '%''''') WHILE @TableName IS NOT NULL BEGIN  
  8. SET  
  9. @ColumnName = ''  
  10. SET  
  11. @TableName =   
  12. (  
  13. SELECT  
  14. MIN(  
  15. QUOTENAME(TABLE_SCHEMA) + '.' + QUOTENAME(TABLE_NAME)  
  16. )  
  17. FROM  
  18. INFORMATION_SCHEMA.TABLES  
  19. WHERE  
  20. TABLE_TYPE = 'BASE TABLE'  
  21. AND QUOTENAME(TABLE_SCHEMA) + '.' + QUOTENAME(TABLE_NAME) > @TableName  
  22. AND OBJECTPROPERTY(  
  23. OBJECT_ID(  
  24. QUOTENAME(TABLE_SCHEMA) + '.' + QUOTENAME(TABLE_NAME)  
  25. ),  
  26. 'IsMSShipped'  
  27. ) = 0  
  28. ) WHILE (@TableName IS NOT NULL)  
  29. AND (@ColumnName IS NOT NULLBEGIN  
  30. SET  
  31. @ColumnName =   
  32. (  
  33. SELECT  
  34. MIN(  
  35. QUOTENAME(COLUMN_NAME)  
  36. )  
  37. FROM  
  38. INFORMATION_SCHEMA.COLUMNS  
  39. WHERE  
  40. TABLE_SCHEMA = PARSENAME(@TableName, 2)  
  41. AND TABLE_NAME = PARSENAME(@TableName, 1)  
  42. AND DATA_TYPE IN (  
  43. 'char''varchar''nchar''nvarchar'  
  44. )  
  45. AND QUOTENAME(COLUMN_NAME) > @ColumnName  
  46. ) IF @ColumnName IS NOT NULL BEGIN INSERT INTO @Results EXEC (  
  47. 'SELECT ''' + @TableName + '.' + @ColumnName + ''', LEFT(' + @ColumnName + ', 3630)  
  48. FROM ' + @TableName + ' (NOLOCK) ' + ' WHERE ' + @ColumnName + ' LIKE ' + @SearchStr2  
  49. )   
  50. END END END 
  1. SELECT ColumnName, ColumnValue FROM @Results