Chinaunix

标题: 关于XP Server配置的实践经验和注意事项 [打印本页]

作者: jazy    时间: 2003-02-27 11:53
标题: 关于XP Server配置的实践经验和注意事项
由于有一段时间没有配置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
作者: joey    时间: 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更好。




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2