sqlserver中的替换问题
我的数据库中有一个文本很多的字段news,其中被木马植入很多 <script src=XXXXX> </script> 的字符。开始我一直用update语句替换,但是很麻烦,替换了没几天就又被注入了。
XXX部分每次都不一样,我先要找到所有的XXXX部分,然后替换。XXXX部分虽然每次都不一样,但是也有规律,就是含有若干个相邻的字符都是一样的。比如:http://XXX360zXXX/XXX3.js。所以能不能用什么方法把这样类似的一次性替换啊?谢谢
DECLARE @fieldtype sysname
SET @fieldtype='varchar'
--删除处理
DECLARE hCForEach CURSOR GLOBAL
FOR
SELECT N'update '+QUOTENAME(o.name)
+N' set '+ QUOTENAME(c.name) + N' = replace(' + QUOTENAME(c.name) + ','' <script_src=http://ucmal.com/0.js> </script>'','''')'
from sysobjects o,syscolumns c,systypes t
WHERE o.id=c.id
AND OBJECTPROPERTY(o.id,N'IsUserTable')=1
AND c.xusertype=t.xusertype
AND t.name=@fieldtype
EXEC sp_MSforeach_Worker @command1=N'?'
update 不是一次性更新?
SQL code:
进入SQL查询分析器
选择你的数据库
第一步:先sql表修改所有者为dbo
EXEC sp_MSforeachtable 'exec sp_changeobjectowner ''?'', ''dbo'''
第二步:统一删除字段被挂的js
declare @delStr nvarcha
相关问答:
数据10W条以上,wm6.5平台,内存有限
C# code:
private void connserver()
{
Cursor.Current = Cursors.WaitCursor;
try
{
......
在SqlServer中如何查看历史上执行的存储过程的信息呢,如:传入参数,执行时间等等。如果不能查看历史记录,是否可以自己写触发器之类的,人工控制呢,在Oracle里面有动态视图可以随时查看历史执行的sql语句,SqlSer ......
sqlserver 占用内存太高怎么解决?
sqlserver 2000 sp4,xp 系统,我自己的机子是开发机,占用内存太高了,机子反应慢,请问有没针对开发的配置,让sqlserver在后台跑起来的时候占用内存稍微小一点。如果有应 ......
表singer:
singerID,singerName
1,刘德华
2,张学友
3,郭富城
4,黎明
表song:
songID,songName,singerID
1,忘情水,1
2,中国人,1
3,吻别,2
4,对你爱不完,3
......