我电脑上的mssql2000居然,被黑了,在还原数据时提示:无法装载DLL Microsoft提示请误随意操作SQL数据库,以免对数据库造成不必要的麻烦或DLL所引用的某一DLL。原因:126(找不到指定模块)
无法装载DLL Microsoft提示请误随意操作SQL数据库,以免对数据库造成不必要的麻烦或DLL所引用的某一DLL。原因:126(找不到指定模块)处理方法
检查看一下:master数据库的扩展存储过程,是否有最近修改的:
第一步解决:sp_addextendedproc不可用
use master go create procedure sp_addextendedproc @functname nvarchar(517), @dllname varchar(255) as set implicit_transactions off if @@trancount > 0 begin raiserror(15002,-1,-1,'sp_addextendedproc') return (1) end dbcc addextendedproc( @functname, @dllname) return (0)
第二步,删除相关危险存储过程,你也可以只删除,修改日期不正常的
use master exec sp_dropextendedproc 'xp_cmdshell' exec sp_dropextendedproc 'xp_dirtree' exec sp_dropextendedproc 'xp_enumgroups' exec sp_dropextendedproc 'xp_fixeddrives' exec sp_dropextendedproc 'xp_loginconfig' exec sp_dropextendedproc 'xp_enumerrorlogs' exec sp_dropextendedproc 'xp_getfiledetails' exec sp_dropextendedproc 'Sp_OACreate' exec sp_dropextendedproc 'Sp_OADestroy' exec sp_dropextendedproc 'Sp_OAGetErrorInfo' exec sp_dropextendedproc 'Sp_OAGetProperty' exec sp_dropextendedproc 'Sp_OAMethod' exec sp_dropextendedproc 'Sp_OASetProperty' exec sp_dropextendedproc 'Sp_OAStop' exec sp_dropextendedproc 'Xp_regaddmultistring' exec sp_dropextendedproc 'Xp_regdeletekey' exec sp_dropextendedproc 'Xp_regdeletevalue' exec sp_dropextendedproc 'Xp_regenumvalues' exec sp_dropextendedproc 'Xp_regread' exec sp_dropextendedproc 'Xp_regremovemultistring' exec sp_dropextendedproc 'Xp_regwrite' drop procedure sp_makewebtask go
第三步,重新添加存储过程
恢复 use master exec sp_addextendedproc xp_cmdshell,'xp_cmdshell.dll' exec sp_addextendedproc xp_dirtree,'xpstar.dll' exec sp_addextendedproc xp_enumgroups,'xplog70.dll' exec sp_addextendedproc xp_fixeddrives,'xpstar.dll' exec sp_addextendedproc xp_loginconfig,'xplog70.dll' exec sp_addextendedproc xp_enumerrorlogs,'xpstar.dll' exec sp_addextendedproc xp_getfiledetails,'xpstar.dll' exec sp_addextendedproc sp_OACreate,'odsole70.dll' exec sp_addextendedproc sp_OADestroy,'odsole70.dll' exec sp_addextendedproc sp_OAGetErrorInfo,'odsole70.dll' exec sp_addextendedproc sp_OAGetProperty,'odsole70.dll' exec sp_addextendedproc sp_OAMethod,'odsole70.dll' exec sp_addextendedproc sp_OASetProperty,'odsole70.dll' exec sp_addextendedproc sp_OAStop,'odsole70.dll' exec sp_addextendedproc xp_regaddmultistring,'xpstar.dll' exec sp_addextendedproc xp_regdeletekey,'xpstar.dll' exec sp_addextendedproc xp_regdeletevalue,'xpstar.dll' exec sp_addextendedproc xp_regenumvalues,'xpstar.dll' exec sp_addextendedproc xp_regread,'xpstar.dll' exec sp_addextendedproc xp_regremovemultistring,'xpstar.dll' exec sp_addextendedproc xp_regwrite,'xpstar.dll'
第四步 未能找到存储过程 'sp_dropextendedproc'
use master go create procedure sp_dropextendedproc --- 1996/08/30 20:13 @functname nvarchar(517) -- name of function as /* ** If we're in a transaction, disallow the dropping of the ** extended stored procedure. */ set implicit_transactions off if @@trancount > 0 begin raiserror(15002,-1,-1,'sp_dropextendedproc') return (1) end /* ** Drop the extended procedure mapping. */ dbcc dropextendedproc( @functname ) return (0) -- sp_dropextendedproc
现在基本上就解决了