前几天,心血来潮,跑服务器上执行了个脚本,删除了xp_cmdshell。。随手又把xplog70.dll也干掉了。。恶梦从此就来了。。本来我是通过sql server agent配置的数据库备份计划,结果第二天发现它启动不来了。提示“启动后又停止了”。到应用程序日志中看了一下,内容如下:
--------------
在库 xplog70.dll 中找不到函数 xp_msver。原因: 127(找不到指定的程序。)。
SQLServerAgent could not be started (reason: 无法加载任何子系统。有关详细信息,请查看错误日志。).
配置选项 'Agent XPs' 已从 1 更改为 0。请运行 RECONFIGURE 语句进行安装。
SQLServerAgent service successfully stopped.
--------------
我可是想尽了办法,都不成。网上的资料都被搜遍了,全试了。。。
今日得神仙J0ker指点,方解此难。。。以下是操作流程:
先从别的安装了sql2005的机器上拷xplog70.dll这个文件过来。放在
X:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Binn
目录下。

然后在查询分析器里面

用sa或者系统权限登录后,执行
exec sp_configure 'show advanced options',1
reconfigure
exec sp_configure 'xp_msver',1
reconfigure
结果:
配置选项'show advanced options' 已从1 更改为1。请运行RECONFIGURE 语句进行安装。
消息15123,级别16,状态1,过程sp_configure,第51 行
配置选项'xp_msver' 不存在,也可能是高级选项。
先不管它报的错,然后继续,用执行
dbcc addextendedproc ("xp_msver",xplog70.dll")

接下来
exec sp_configure 'xp_msver',1
reconfigure
 
可能会提示“配置选项'xp_msver' 不存在,也可能是高级选项。”

那就直接执行
reconfigure
成功完成
启动sql agent服务
老样子,还是xplog70.dll中找不到xp_msver
经J0ker指点,先把sqlserver的服务重启一下
成功了。。高兴死了。。。终于不用每天手动备份了。。。跪拜J0ker了。。
高手出招,就是不一样。。。记住了,以后不管配置什么东西,如果不成功,一定要先重启一下服务后,再试试,说不定有惊人的发现。。。