批量替换数据库所有表中的内容

写个东东用来搞定数据库中的恶意脚本代码
select  
' update [ ' + s.name  +   ' ] set [ ' + c.name + ' ]= '   + ' replace([ ' + c.name + ' ], '' 小白 '' , '''' ) '  
from  sysobjects s,syscolumns c,systypes t
where  s.type = ' u '   and  s.id = c.id
AND   OBJECTPROPERTY (s.id,N ' IsUserTable ' ) = 1
AND  c.xusertype = t.xusertype
AND  t.name  IN ( ' varchar ' , ' nvarchar ' , ' char ' , ' nchar ' )
union
select  
' update [ ' + s.name  +   ' ] set [ ' + c.name + ' ]= '   + ' replace(Cast([ ' + c.name + ' ] as varchar(8000)), '' 小白 '' , '''' ) '  
from  sysobjects s,syscolumns c,systypes t 
where  s.type = ' u '   and  s.id = c.id
AND   OBJECTPROPERTY (s.id,N ' IsUserTable ' ) = 1  
AND  c.xusertype = t.xusertype 
AND  t.name  IN ( ' text ' , ' ntext ' )

你可能感兴趣的:(数据库)