CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  MS-SQL Server >  基础类

如何修复某个数据库“用户”列表中的登录名?

楼主liaojh()2004-12-01 11:53:12 在 MS-SQL Server / 基础类 提问

在一台Win2000电脑上的SQL   Server2000企业版中,对其某个数据库(比如MYDATA)进行了备份。  
  在一台WinXP的电脑上安装了一个SQL个人版,建立一个同名数据库MYDATA,建立相同于Win2000机上的登录帐户。然后在WinXP上用Win2000上的备份进行恢复,恢复后发现:  
          1、MYDATA数据库下的用户列表中,用户名称对应的登录名丢失(空),  
          2、“安全性”上的登录帐户的“可访问数据库权限”空,重新加入MYDATA数据库时出错。  
          对此问题如何处理?谢谢。 问题点数:20、回复次数:9Top

1 楼bzscs(沙虫 我爱小美)回复于 2004-12-01 11:58:45 得分 0

好像要先删除原有的登录号,然后关闭企业管理器,再重新打开,再设置登录号Top

2 楼ljial(数据库还真是越搞越不懂,越搞越有味道)回复于 2004-12-01 12:35:14 得分 0

因为你只是回复mydata  
  ,用户信息除了记录在mydata数据库中外  
  还有master数据库得syslogins中  
  所以必须在2台机器上都建立此用户Top

3 楼yesyesyes()回复于 2004-12-01 13:36:13 得分 0

在QA中运行  
  sp_change_users_login   'Auto_Fix','用户名',null,'用户密码'Top

4 楼liaojh()回复于 2004-12-01 16:35:46 得分 0

to   bzscs:删除后重建登录号没用,重建时提示用户已经存在。  
   
  to   yesyesyes:QA是什么?我在SQL查询分析器中运行sp_change_users_login   'Auto_Fix',   'system',   NULL,   '12345678'  
  系统提示如下:  
  服务器:   消息   8144,级别   16,状态   2,过程   sp_change_users_login,行   0  
  为过程或函数   sp_change_users_login   指定的参数太多。  
   
  to   ljial:master数据库的syslogins表,我对了两边的数据,用户名(name列)都在,只是dbid列的值对不上,Win2000那边自设用户都是7,WinXP这边自设用户都是12且不能修改。  
   
  现在真正能解决的方法是将数据库下的用户删除,这时才可修改登录帐户的数据库访问权限,可问题是数据库的用户记录着登录帐户在本数据库的具体操作权限,这样处理后所有权限都要重设一遍,很麻烦很复杂,有没有什么好办法?Top

5 楼yesyesyes()回复于 2004-12-01 16:47:23 得分 0

QA就是查询分析器  
  你再试试  
  sp_change_users_login   'Update_One',   '用户名',   '登录名'  
  不过sp_change_users_login   只能用于   SQL   Server   登录;它不能用于   Windows   登录。  
   
  Top

6 楼liaojh()回复于 2004-12-02 10:59:21 得分 0

to   yesyesyes:还是一样的出错提示,我的   SQL   Server   是只允许   SQL   Server   登录的,不允许   Windows   登录的。Top

7 楼yesyesyes()回复于 2004-12-02 12:31:16 得分 10

那好像只能一个一个删,再一个一个重建Top

8 楼ljial(数据库还真是越搞越不懂,越搞越有味道)回复于 2004-12-02 13:30:05 得分 10

将此用户对应到角色,即使重建,只要重新分配角色就可以了,不需要所有权限都要重设一遍Top

9 楼liaojh()回复于 2004-12-02 14:56:43 得分 0

to   yesyesyes:如果光删登录帐号,再重建登录帐号是没用的,只能先到数据库的“用户”处删用户,然后再重建帐号,这时的帐号才能设置访问数据库权限。但删了数据库的用户,登录帐号在本数据库的操作权限就丢失了,需重建。  
   
  to   ljial:将用户对应到角色是个好办法,以前我没想到用角色,如用角色就可以省很多事了,这样就不用为每个相同角色的用户一个一个去重设权限了。谢谢!  
   
  最后谢谢大家!谢谢每一位帮助我的人!Top

相关问题

  • 修复数据库
  • Sybase数据库修复
  • 数据库修复问题。
  • 修复Access数据库?
  • 数据库登录问题
  • ACCESS数据库问题,ACCESS2000数据库如何修复???
  • 怎么修复我的ASA数据库?
  • access数据库修复时出错
  • 为什么压缩修复数据库
  • 怎样压缩和修复数据库?

关键词

  • win2000
  • 数据库
  • 用户
  • 帐号
  • 角色
  • sql
  • 登录
  • 权限
  • 重建
  • yesyesyes

得分解答快速导航

  • 帖主:liaojh
  • yesyesyes
  • ljial

相关链接

  • SQL Server类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo