无法装载DLL Microsoft原因: 126(找不到指定的模块)。
U890帐套引入提示:“无法装载 DLL Microsoft提示您请误随意操作SQL数据库 以免对起 数据库造成不必要的麻烦 或该 DLL 所引用的某一 DLL。原因: 126(找不到指定的模块。)。”
由于SQL2000的SA密码过于简单导致,被病毒恶意修改系统存储过程。
需要以下系统存储过程恢复。
注意:该方案只支持SQL2000
复制代码 代码如下:
use master
go
--检查xp_cmdshell是否被篡改
select * from master..syscomments where object_name(id)='xp_cmdshell' and text<>'xplog70.dll'
go
--检查其他存储过程是否被篡改
select object_name(id), * from master..syscomments where object_name(id) in
('xp_getfiledetails','xp_availablemedia','xp_dirtree','xp_fixeddrives','xp_s
ubdirs',
'xp_fileexist','xp_get_tape_devices','sp_MSgetversion','xp_enumdsn','xp_regr
ead','xp_regwrite','xp_regdeletevalue',
'xp_regaddmultistring','xp_regremovemultistring','xp_regenumkeys','xp_regenu
mvalues','xp_regdeletekey','xp_instance_regread',
'xp_instance_regwrite','xp_instance_regdeletevalue','xp_instance_regaddmulti
string','xp_instance_regremovemultistring',
'xp_instance_regenumkeys','xp_instance_regenumvalues') and text <>N'xpstar.dll'
go
--发现xp_cmdshell被篡改,执行下面语句改回来
--drop procedure xp_cmdshell
--go
--exec sp_addextendedproc N'xp_cmdshell', N'xplog70.dll'
--go
--然后执行下面语句验证xp_cmdshell是否正确
--xp_cmdshell 'dir c:/'
--如果该语句异常,还有可能sql server服务的启用账户(一般情况下是system)没有访问system32/cmd.exe文件的权限,加上权限即可
--发现其他存储过程被篡改,执行下面语句
--drop procedure 存储过程名称
--go
--exec sp_addextendedproc N'存储过程名称', N'xpstar.dll'