未能找到存储过程_master.dbo.xp_regread

作者:csuper 发表于:2012-11-01

 

未能找到存储过程_master.dbo.xp_regread

原因:

管理员做安全处理的时候,把xp_regread给删除了

解决办法:重新创建回去就行了

找到 数据库——master——扩展存储过程,右键“新建扩展存储过程”(名称:xp_regread,路径:xpstar.dll)

补充:
 
分析原因:这是因为某个出于安全考虑把系统扩展存储过程所有的动态连接库都删了
 
解决方法:1、
把恢复数据库需要用到的存储过程个恢复,打开MSSQL查询分析器,分别运行下面的两条数据库语句即可.
EXEC sp_addextendedproc xp_dirtree ,@dllname ='xpstar.dll'
EXEC sp_addextendedproc xp_fileexist ,@dllname ='xpstar.dll'

解决方法:2、 重装SQL2000 

SQL server 危险存储过程删除与恢复
删除
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'

在开始----运行----“NET   START   MSSQLSERVER   AGENT”
控制面板--管理工具---服务---MSSQLSERVERAGENT(右键--属性--启动或右键--启动)




在操作数据库过程中出现“未能找到存储过程master.dbo.xp_regread”。原因:管理员做安全处理的时候把xp_regread给删除了。


解决办法:重新创建回去就行了


    找到 数据库——master——扩展存储过程,右键“新建扩展存储过程”(名称:xp_regread,路径:xpstar.dll)(还原数据库时出现过此问题)。

 

版权声明

本文仅代表作者观点,不代表Csuper立场。
本文系作者授权百度百家发表,未经许可,不得转载。