浪潮软件“无法取得系统id”问题之探讨

浪潮软件“无法取得系统id”问题之探讨

数 据 库: Syb 11.9网
软件版本: PS未知 软件模块: 安装配置
问题描述:
   “无法取得系统id”一般分两种情况,
一种是维护工具和业务模块都不能登录;
一种情况是维护工具可以登录,业务模块不能登录。
产生原因: 对于第一种情况一般是因为master中的lc0019999用户的suid号与cwbase1中的此用户的suid号不一致引起的;
第二种原因则是因为cwmaster库满或public角色对cwmaster库中的lsregs表无权限,插入记录失败而造成的。
解决方法:
   对于第一种情况一般是因为master中的lc0019999用户的suid号与cwbase1中的此用户的suid号不一致引起的,多发生于load恢复数据库后,具体可做以下操作:
一. 验证ID号是否不一致:
1、 用WISQL或SQL  ADVA’NTAGE联接数据库系统;
2、 打开master数据库,录入以下命令查看lc0019999的ID号:select suid from syslogins where name=’lc0019999′。例如ID号为7;
3、 打开cwbase1数据库,录入以下命令查看lc0019999的ID号:
use cwbase1
go
select suid from sysusers where name=’lc0019999′
go
例如ID号为6
4、 由此可见是由于ID号不一致引起的。即cwbase1中的lc0019999的ID号应为7,而实际为6。
二. 解决方法:
1、 用WISQL或SQL  ADVANTAGE联接数据库系统;
2、 打开master数据库,录入以下命令打开允许修改系统表的选项:
sp_configure ‘allow updates’,1
go
reconfigure with override
go
3、 打开cwbase1,修改相应lc0019999的ID号:
use cwbase1
go
update sysusers set suid=7,name=’lc0019999′ where name=’lc0019999′
go
注:update sysusers set suid=7,name=’lc0019999′ where name=’lc0019999′中,where后面的lc0019999是指的cwbase1中的属主,如果为其他,请根据实际情况更改。请参考文档WD060111167,文档名称:“SYBASE恢复其他帐套数据”
4、 打开master数据库,录入以下命令关闭允许修改系统表的选项:
sp_configure ‘allow updates’,0
go
reconfigure with override
go

第二种原因则是因为cwmaster库满或public角色对cwmaster库中的lsregs表无权限,插入记录失败而造成的。此问题多发生于多帐套多用户。
解决:1、授权
以sa身份登陆数据库,执行以下语句
use cwmaster
grant Delete on LSREGS to public
go
grant Insert on LSREGS to public
go
grant Select on LSREGS to public
go
grant Update on LSREGS to public
go
2、扩充cwmaster库
 alter database cwmaster  on  master=10
(master默认为30兆,还剩余20兆未用)

原创文章,转载请注明: 转载自浪潮888博客

本文链接地址: 浪潮软件“无法取得系统id”问题之探讨

文章的脚注信息由WordPress的wp-posturl插件自动生成



This entry was posted in 浪潮文档. Bookmark the permalink.

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

*

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>