一个非常棘手的问题(在线等待)

gengxp 2002-03-05 04:41:39
win2000 sqlserver7.0
一个database中所有用户表owner都是user1(除了系统表),现在把这个库backup出来,然后再在另外的机器上restore进去。但是问题出来了:restore进去的库中user却只有一个dbo(login一栏应该是sa 但却没有),原来的user1不见了,手工加入user1,报错说user1已经存在了。 用user1登录也报错

高手们这是什么原因
...全文
34 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
gengxp 2002-03-07
  • 打赏
  • 举报
回复
问题解决了
非常感谢 foolishchao(傻超) 给分
sdf163 2002-03-06
  • 打赏
  • 举报
回复
drop user user1
后重建一个
gengxp 2002-03-06
  • 打赏
  • 举报
回复
to foolishchao(傻超)

能给解释一下嘛
jb_coolman 2002-03-06
  • 打赏
  • 举报
回复
restore之前就要在目标机器上新增user1这个用户的!
重做一遍吧。
foolishchao 2002-03-06
  • 打赏
  • 举报
回复
或者用下面的方法
sa 登录,在查询分析器中
use database
exec sp_change_users_login 'Auto_Fix','user1'
foolishchao 2002-03-06
  • 打赏
  • 举报
回复
孤立用户
把数据库备份还原到另一个服务器时,可能会遇到孤立用户的问题。login是放在master.dbo.syslogins中的,而还原到另一个服务器时,另一个服务器的master.dbo.syslogins中可能没有相应的login数据,可能会遇到孤立用户的问题。

关于“restore进去的库中user却只有一个dbo(login一栏应该是sa,但却没有)”,login一栏显示sa的方法是:

use database
exec sp_changedbowner 'sa'
foolishchao 2002-03-05
  • 打赏
  • 举报
回复
1、如果另外的服务器中原来有user1 login,请在企业管理器中删除user1 login

2、在原来的服务器以文本显示结果方式执行

select sql='exec sp_addlogin '''+loginname+''',',CONVERT(VARBINARY(32), password),
','''+dbname+''',NULL,',sid,',''skip_encryption'''
from master.dbo.syslogins where loginname='user1'

3、将生成的语句在另外的服务器中执行。

dotnba 2002-03-05
  • 打赏
  • 举报
回复
你另外的机器里有UER1吗?

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧