Initial commit
This commit is contained in:
67
SearchAllTables.sql
Normal file
67
SearchAllTables.sql
Normal file
@@ -0,0 +1,67 @@
|
||||
DECLARE @SearchStr nvarchar(100)
|
||||
SET @SearchStr = '## YOUR STRING HERE ##'
|
||||
|
||||
|
||||
-- Copyright © 2002 Narayana Vyas Kondreddi. All rights reserved.
|
||||
-- Purpose: To search all columns of all tables for a given search string
|
||||
-- Written by: Narayana Vyas Kondreddi
|
||||
-- Site: http://vyaskn.tripod.com
|
||||
-- Updated and tested by Tim Gaunt
|
||||
-- http://www.thesitedoctor.co.uk
|
||||
-- http://blogs.thesitedoctor.co.uk/tim/2010/02/19/Search+Every+Table+And+Field+In+A+SQL+Server+Database+Updated.aspx
|
||||
-- Tested on: SQL Server 7.0, SQL Server 2000, SQL Server 2005 and SQL Server 2010
|
||||
-- Date modified: 03rd March 2011 19:00 GMT
|
||||
CREATE TABLE #Results (ColumnName nvarchar(370), ColumnValue nvarchar(3630))
|
||||
|
||||
SET NOCOUNT ON
|
||||
|
||||
DECLARE @TableName nvarchar(256), @ColumnName nvarchar(128), @SearchStr2 nvarchar(110)
|
||||
SET @TableName = ''
|
||||
SET @SearchStr2 = QUOTENAME('%' + @SearchStr + '%','''')
|
||||
|
||||
WHILE @TableName IS NOT NULL
|
||||
|
||||
BEGIN
|
||||
SET @ColumnName = ''
|
||||
SET @TableName =
|
||||
(
|
||||
SELECT MIN(QUOTENAME(TABLE_SCHEMA) + '.' + QUOTENAME(TABLE_NAME))
|
||||
FROM INFORMATION_SCHEMA.TABLES
|
||||
WHERE TABLE_TYPE = 'BASE TABLE'
|
||||
AND QUOTENAME(TABLE_SCHEMA) + '.' + QUOTENAME(TABLE_NAME) > @TableName
|
||||
AND OBJECTPROPERTY(
|
||||
OBJECT_ID(
|
||||
QUOTENAME(TABLE_SCHEMA) + '.' + QUOTENAME(TABLE_NAME)
|
||||
), 'IsMSShipped'
|
||||
) = 0
|
||||
)
|
||||
|
||||
WHILE (@TableName IS NOT NULL) AND (@ColumnName IS NOT NULL)
|
||||
|
||||
BEGIN
|
||||
SET @ColumnName =
|
||||
(
|
||||
SELECT MIN(QUOTENAME(COLUMN_NAME))
|
||||
FROM INFORMATION_SCHEMA.COLUMNS
|
||||
WHERE TABLE_SCHEMA = PARSENAME(@TableName, 2)
|
||||
AND TABLE_NAME = PARSENAME(@TableName, 1)
|
||||
AND DATA_TYPE IN ('char', 'varchar', 'nchar', 'nvarchar', 'int', 'decimal')
|
||||
AND QUOTENAME(COLUMN_NAME) > @ColumnName
|
||||
)
|
||||
|
||||
IF @ColumnName IS NOT NULL
|
||||
|
||||
BEGIN
|
||||
INSERT INTO #Results
|
||||
EXEC
|
||||
(
|
||||
'SELECT ''' + @TableName + '.' + @ColumnName + ''', LEFT(' + @ColumnName + ', 3630) FROM ' + @TableName + ' (NOLOCK) ' +
|
||||
' WHERE ' + @ColumnName + ' LIKE ' + @SearchStr2
|
||||
)
|
||||
END
|
||||
END
|
||||
END
|
||||
|
||||
SELECT ColumnName, ColumnValue FROM #Results
|
||||
|
||||
DROP TABLE #Results
|
||||
Reference in New Issue
Block a user