信息系统项目管理师_2024年软考学习应考交流_信息系统项目管理师考试

 找回密码
 马上注册

QQ登录

只需一步,快速开始

查看: 2517|回复: 1
打印 上一主题 下一主题

错误 21002: [SQL-DMO]用户“XXX”已经存在

  [复制链接]
  • TA的每日心情
    开心
    2024-2-1 15:09
  • 签到天数: 58 天

    [LV.5]常住居民I

    跳转到指定楼层
    楼主
    发表于 2008-6-21 11:38:42 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    MSSQL2000迁移数据库或者还原数据库后,新建相同用户名的时候或者指定数据库登录用户时出现错误提示“错误21002:[SQL-DMO]用户“XXX”存在
    产生原因:
    这就是我们通常所说的“孤立用户”,所谓孤立用户,就是某个数据库的帐户只有用户名而没有登录名,这样的用户用户库的sysusers系统表中存在,而在master数据库的syslogins中却没有对应的记录。
    孤立帐户产生的原因一般是以下两种:
    1.将备份的数据库在其他机器上还原;
    2.重装系统,或SQL SERVER之后只还原了用户库。

    解决办法:
    解决办法是使用sp_change_users_login来修复。
    sp_change_users_login的用法有三种。

    修复方法:
    步骤1:
    打开查询分析器,进入对应数据库运行以下命令
    exec sp_change_users_login 'REPORT'
    列出当前数据库的孤立用户
    步骤2:
    exec sp_change_users_login 'AUTO_FIX','USERNAME'
    可以自动将用户名所对应的同名登录添加到syslogins中。
    步骤3:
    exec sp_change_users_login 'UPDATE_ONE','USERNAME','DENG LU MING'
    用户名映射为指定的登录名。
    运行完以上三个命令,你再试试看,用户就能正常登录了。
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏 转播转播 分享分享 顶 踩
  • TA的每日心情
    开心
    2024-2-1 15:09
  • 签到天数: 58 天

    [LV.5]常住居民I

    沙发
     楼主| 发表于 2008-6-21 11:39:14 | 只看该作者
    作者:fbysss
    msn:jameslastchina@hotmail.com  
    blog:blog.csdn.net/fbysss
    声明:本文由fbysss原创,转载请注明出处
    关键字:sqlserver数据库用户,关联缺失
    背景:数据库从另外一台服务器备份之后还原,发现程序中登录数据库失败。
    排查:发现"安全性"->"登录"中的数据库用户与数据库没有关联,但是手工再关联,却报出错误21002:[sql-dmo]用户***已经存在的异常信息。而删除该数据库用户也无法进行,因为它已经是一些表的owner(否则,这么做也可以解决问题)。
    解决:
    (1)在企业管理器中点击SQL服务器根节点,右键->属性->服务器设置->允许对目录结构进行直接修改,打勾,确定。
    (2)在数据库中找到sysusers表,删除name=[yourdbuser]的记录即可。如果不做第一步,会报出“ 未启用对系统目录的特殊更新。系统管理员必须重新配置SQL Server 以允许这种操作”的错误。
    (3)再到"安全性"->"登录"中建立用户与数据库的关联。
    (4)重新设置SQLServer,把“允许对目录结构进行直接修改”前面的勾去掉。
    小结:至于数据库还原之后用户与数据库的关联为何缺失,暂时没找到根本原因,不过这种方式相对于使用sp_changeobjectowner来对表、视图等对象的owner进行修改之后,删除用户再建立用户的方式来得方便很多,也不容易出错。
    您需要登录后才可以回帖 登录 | 马上注册

    本版积分规则

    小黑屋|手机版|Archiver|信息系统项目管理师_软考交流平台. ( 鄂ICP备11002878号-1  公安备案号:42011102001150

    GMT+8, 2025-7-5 19:16

    Software by Discuz! X3.2

    © 2001-2013 SKIN BY DSVUE

    快速回复 返回顶部 返回列表