试试这个:解决方法是使用sp_change_users_login来修复。sp_change_users_login的用法有三步:
步骤1:
exec sp_change_users_login 'REPORT'
列出当前数据库的孤立用户
步骤2:
exec sp_change_users_login 'AUTO_FIX','用户名'
可以自动将用户名所对应的同名登录添加到syslogins中
步骤3:
exec sp_change_users_login 'UPDATE_ONE','用户名','登录名'
将用户名映射为指定的登录名

解决方案 »

  1.   

    用这个试试:exec sp_change_users_login 'UPDATE_ONE','x','y'
      

  2.   

    exec sp_change_users_login 'Update_ONE','x','y'
      

  3.   

    exec sp_change_users_login 'Update_ONE','x','y' 报如下错误信息
    该登录已经在另一个用户名下拥有帐户。
      

  4.   


    先新建一个x登陆,然后再:exec sp_change_users_login 'Update_ONE','x','x'
      

  5.   

    exec sp_addlogin @loginame =  'x' ,  @passwd =  '密码' 然后:exec sp_change_users_login 'Update_ONE','x','x'
      

  6.   

    先新建一个x登陆是不行的,因为原系统中都是用y登录的,没有用x登录。
      

  7.   


    那就只能把这个x用户删除了。然后再新建用户x,挂到y登陆下面
      

  8.   

    sqlserver的登录账户只能拥有一个用户账户吗?目前登录账户y已经有一个用户y和他对应
      

  9.   


    在sql server 2000中好像是这样的,就是两者名称要一样。不过,我在sql server 2008r2中,没有这个限制了