MS SQL 数据库中每个 字符 在哪个表哪个字段的方法如下:
登陆数据库 建立存储过程 SP_FindValueInDB
drop table if exists adminCREATE PROCEDURE [dbo].[SP_FindValueInDB]
(@value VARCHAR(1024) )     
AS
BEGIN   
-- SET NOCOUNT ON added to prevent extra result sets from   
-- interfering with SELECT statements.
SET NOCOUNT ON;
DECLARE @sql VARCHAR(1024)  DECLARE @table VARCHAR(64)  DECLARE @column VARCHAR(64) 
CREATE TABLE #t (      tablename VARCHAR(64),      columnname VARCHAR(64)  )    DECLARE TABLES CURSOR  FOR        SELECT o.name, c.name      FROM syscolumns c      INNER JOIN sysobjects o ON c.id = o.id      pe = 'U' pe IN (167, 175, 231, 239)      ORDER BY o.name, c.name    OPEN TABLES    FETCH NEXT FROM TABLES  INTO @table, @column    WHILE @@FETCH_STATUS = 0  BEGIN      SET @sql = 'IF EXISTS(SELECT NULL FROM [' + @table + '] '      SET @sql = @sql + 'WHERE RTRIM(LTRIM([' + @column + '])) LIKE ''%' + @value + '%'') '      SET @sql = @sql + 'INSERT INTO #t VALUES (''' + @table + ''', '''      SET @sql = @sql + @column + ''')'        EXEC(@sql)        FETCH NEXT FROM TABLES      INTO @table, @column  END    CLOSE TABLES  DEALLOCATE TABLES    SELECT *  FROM #t    DROP TABLE #t 
End
运行查存储过程 如:查数据中 含 admin 字段的表及对字段。
EXEC [SP_FindValueInDB] 'admin'