.CNIDC.COM
<br />
<br />1,如果你的数据表很少的话,那么写几条简单的sql就搞定了
<br />
<br />对于表中的nvchar类型的字段:
<br />
<br />
<br />
<br />以下为引用的内容:
<br />
<br />update news set title=replace(title,'【恶意代码】','')
<br />
<br />对于表中的text类型的字段:
<br />
<br />
<br />
<br />以下为引用的内容:
<br />
<br />update news set content=Replace(Cast(content as varchar(8000)),'【恶意代码】','')
<br />
<br />2,如果你是sql2000的话,可以用下面这个。
<br />
<br />
<br />
<br />以下为引用的内容:
<br />
<br />DECLARE @fieldtype sysname
<br />
<br />SET @fieldtype='varchar'
<br />
<br />--删除处理
<br />
<br />DECLARE hCForEach CURSOR GLOBAL
<br />
<br />FOR
<br />
<br />SELECT N'update '+QUOTENAME(o.name)
<br />
<br /> +N' set '+ QUOTENAME(c.name) + N' = replace(' + QUOTENAME(c.name) + ',''【恶意代码】'','''')'
<br />
<br />FROM sysobjects o,syscolumns c,systypes t
<br />
<br />WHERE o.id=c.id
<br />
<br /> AND OBJECTPROPERTY(o.id,N'IsUserTable')=1
<br />
<br /> AND c.xusertype=t.xusertype
<br />
<br /> AND t.name=@fieldtype
<br />
<br />EXEC sp_MSforeach_Worker @command1=N'?'
<br />
<br />(这个是我网上搜索的,据说sql2000下可以,但我没试过,在sql2005下无法执行。)
<br />
<br />3,sql2005下我选择的方法是先生成清理代码的语句,然后把运行结果复制到查询分析器里执行之,当然在sql2000下一样可以用。
<br />
<br />
<br />
<br />以下为引用的内容:
<br />
<br />select
<br />
<br />'update ['+s.name + '] set ['+c.name+']=' +'replace(['+c.name+'],''【恶意代码】'','''')'
<br />
<br />from sysobjects s,syscolumns c,systypes t
<br />
<br />where s.type='u' and s.id=c.id
<br />
<br /> AND OBJECTPROPERTY(s.id,N'IsUserTable')=1
<br />
<br /> AND c.xusertype=t.xusertype
<br />
<br /> AND t.name IN('varchar','nvarchar','char','nchar')
<br />
<br />union
<br />
<br />select
<br />
<br />'update ['+s.name + '] set ['+c.name+']=' +'replace(Cast(['+c.name+'] as varchar(8000)),''【恶意代码】'','''')'
<br />
<br />from sysobjects s,syscolumns c,systypes t
<br />
<br />where s.type='u' and s.id=c.id
<br />
<br /> AND OBJECTPROPERTY(s.id,N'IsUserTable')=1
<br />
<br /> AND c.xusertype=t.xusertype
<br />
<br /> AND t.name IN('text','ntext')
<br />
<br />ps:以上是buzhizhe在处理问题时候整理的,方法1、2是网上搜索的,对于我的sql2005无用,因此写了方法3,以便帮助不懂安全的菜鸟临时解决问题。
<br />
<br /><br /><br /><blockquote class="blockquote">From: http://www.66yh.cn/read.php?tid-3291.html Powered by PHPWind.com</blockquote> |