免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 5581 | 回复: 1
打印 上一主题 下一主题

关于XP Server配置的实践经验和注意事项 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2003-02-27 11:53 |只看该作者 |倒序浏览
由于有一段时间没有配置xp_server了,前不久在配置一台测试机的时候,配置过程很简单,只需在图形界面下执行asecfg就可以按界面的提示进行了,这部分相信一般大家都不会出错!于是,我也以为轻松搞定,在 isql中执行xp_cmdshell 'date'以测试是否可行,结果却报11018 ("XP Server must be up for ESP to execute"错误!但检查interfaces文件却并没有发现什么错误,sp_helpserver也可以看到xp_server相关信息,于是进一步查找相关资料,结果错误原因可能由此造成:Error 11018 is raised when Adaptive Server is unable to contact XPServer to execute an ESP. Check that your interfaces file (UNIX) or sql.ini file (NT) has the correct entry for XP Server; the XP Server name must be in all upper case letters and have the format SERVER_NAME_XP ,此时才恍然大悟,原来我得测试库名是dbtest为小写,而xp server名字为dbtest_XP名字不符合要求,其实这个问题以前也发现过,但是时间长了,就给忘了!所以有些小细节如果不注意的话,可能会出现让你摸不着头脑的问题。

  接下来的就是调整服务名了,由于是测试库,不太担心数据的丢失,但是,再做之前,还是按正规步骤进行,养成好的习惯!

1.1、备份数据库
use master
go
dump database master to '/home/backup/master_dump.dat'
go
dump database jfk to '/home/backup/jfk_dump.dat' with truncate_only
go
1.2、修改interfaces文件,将相关服务名都改为大写!

1.3、重起数据库

数据库启动正常,但是执行xp_cmdshell结果还是报错

这时才发现只改interfaces文件无效,在master库的表sysservers中的信息并未发生变化。(其实此时只需修改该表的服务名的大小写就可以了,但是我却走了一步弯路,最后却走回来了,请看下面的操作)!

于是我想,干脆重建master库算了。于是进行如下操作!

2.1、备份/home/dev/master.dat ,/home/dev/jfk.dat等数据文件

2.2、删除/home/dev/master.dat,/home/dev/sysproc.dat文件

2.3、使用asecfg重建server,这时所有服务名都采用大写!
注意设备的路径和大小要和以前的一致,或者略小于以前也可以
2.4、重起数据库
一切着正常
但这时测试数据库找不到了,于是关闭数据库,用2.1中的备份maser.dat覆盖现有的master.dat再重起,可以找到数据库,但执行xp_cmdshell还是一样的故障,以下的操作就回到1.3的解决步骤了,那就是说如果涉及到更改数据库服务名,则需要修改master.sysservers中的信息和interfaces文件中的信息。

当然修改前还需执行如下操做:

sp_configure 'allow updates', 1

然后:
update sysservers set srvname = 'JFKTEST_XP' where srvid =2

...
...

修改完毕之后重新启动数据库后,再执行xp_cmdshell时还报错!不过这次的信息不一样了,这次的xp_server已经启动,只是需要修改一下数据库参数了,须错误信息如下:
User access denied. Failed to change the user context.

sp_configure 'xp_cmdshell context',0

默认的是1,不可执行操作系统命令!改为0就可以了!

验证一把:
xp_cmdshell 'date'
go

Thu Feb 27 11:13:04 EAT 2003

配置完成!


以上写的可能有点罗索!归结一下有以下几点:

1、使用xp server服务名要采用合法格式SERVER_NAME_XP

2、要通过 xp_cmdshell调用系统操作需要打开开关
sp_configure 'xp_cmdshell context',0

论坛徽章:
0
2 [报告]
发表于 2003-02-27 14:27 |只看该作者

关于XP Server配置的实践经验和注意事项

小小的补充:
对于以上所述
<<
当然修改前还需执行如下操做:

sp_configure 'allow updates', 1

然后:
update sysservers set srvname = 'JFKTEST_XP' where srvid =2
>;>;

如使用sp_dropserver 和 sp_addserve更好。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP