邹建老大进来看看,通过还原建立的数据库出现登录名的问题

onekey 2005-05-25 09:21:27
我再另一台机器上还原数据库后,原来的用户ernet的登录名为空,
直接删除这个用户的时候提示“此用户拥有对象”,不让删除。

我重新建一个登录名ernet,密码、权限都和原来的一样,然后通过 EXEC sp_change_users_login 'Update_One', 'ernet', 'ernet' 可以建立连接,但是通过这个用户仍然访问不了用户为ernet的表。

是不是我建的用户跟原来的用户还有地方不一致呢?
请帮忙解决一下
...全文
167 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
onekey 2005-06-06
  • 打赏
  • 举报
回复
先把所有表的拥有者改成ernet1,然后ernet就让删了,
重新建ernet然后在把拥有者改过来
cemma 2005-06-06
  • 打赏
  • 举报
回复
我遇到过类似的问题,不过幸好没有属于该用户的表,所以直接重建用户就可以了,否则,要一个个对象检查一遍的话,还是很痛苦的。
顺便问问各位大虾,是否可以通过什么SQL语句,一次修改所有对象的拥有者为SA?
tony0115 2005-06-06
  • 打赏
  • 举报
回复
一般来说还原备份的数据,都会碰到这个问题(除非你老是sa连接,那就算了)

如数据库dbA原来有用户usr_dbA

当你在另一台服务器上还原此数据库时,SQLServer并不会自动地在安全--〉登陆中建立相应的usr_dbA这个登陆帐号,但在数据库的用户中你会发现存在这个usr_dbA,当然了,此时你的客户端程序是不能够使用usr_dbA连接数据,更不能执行任何的操作!

我解决的办法就是,在将这个用户删除,安全-->登陆中重新建立该帐号,并分配访问的数据库和权限

有的朋友碰到此用户拥有对象的问题,那就要看看你的数据库里面是不是有类似usr_dbA.tableA的对象,如果有,最好改成dbo.

如果你不先删除用户,而直接去简历相同名字的登陆帐号,SQLServer是会报错的
zjcxc 元老 2005-06-06
  • 打赏
  • 举报
回复
原来已经解决了.
zjcxc 元老 2005-06-06
  • 打赏
  • 举报
回复
访问出现什么提示?
yj1804 2005-06-06
  • 打赏
  • 举报
回复
我来up,顺便问一下如何解决???
谢谢
onekey 2005-05-25
  • 打赏
  • 举报
回复
解决了!楼上的解答不算哦~~~~

大家来UP吧,UP给分
onekey 2005-05-25
  • 打赏
  • 举报
回复
我做了,都一样啊
pbsql 2005-05-25
  • 打赏
  • 举报
回复
仔细检查,确保角色、权限和原来的一样

34,575

社区成员

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

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