sql server 7.0的一个怪毛病??(100分)

  • 主题发起人 主题发起人 一个过客
  • 开始时间 开始时间

一个过客

Unregistered / Unconfirmed
GUEST, unregistred user!
我的win2k系统重新安装,装上sql server7.0之后,用sp_sttach_db命令挂上以前的
mdf数据库文件,一切都很正常。但是这个mdf文件里面似乎包含了以前的login,而这个
login又没有在新的数据库里面的login里面显示,以至于在新的数据库里面无法添加
同样名字的login,提示说‘xxx已经存在“,我不得不改名新建一个login。
这样反复重装几次之后,无效的login名字越来越多,我都快想不出新的名字了。

请问这是怎么回事?怎样解决?
 
用sp_dropuser把用户删了再重新补上,但前提是你对该用户的所有信息都很了解,
如密码,权限等
 
估计使用sp_DropUser不行,我当初也是遇到过这个问题。
最后只好手工修改系统表了,至少这个问题在SQL管理器里面使用菜单是没办法完成的。
 
新建一个数据库,把数据传到新库中。备份新库,
删掉旧库,报备份回复成旧库名称,User都不存在了,
注意备份前可以报user的库权限先去掉,只流DBO
 
>>最后只好手工修改系统表了

怎样修改的?我很感兴趣!

caiaj:你的方法有点麻烦,我的数据量很大的,导数据太费时间。
 
这个问题我也遇到过,可以解决。
新装sql7.0,然后在里面创建一个同名用户,权限为admin,然后把mdf文件挂上,
这时用法就完全一样了。

然后再修改该用户的身份和权限。
 
没碰到过,楼上的方法应该行
 
直接修改系统表方法:
在enterprise manager里打开挂上的数据库,打开sysuser表(return all rows),
删除要删除的用户所在的行。
注:要在 服务器忏属性->server setting 里允许直接修改系统表

 
新建一个数据库,把原来的数据库导入,注意不要导注册信息。然后新建用户即可.
 
试验了一下修改系统表,结果还不错,我接受修改系统表的答案。
 
后退
顶部