试试这个:解决方法是使用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 'REPORT'
列出当前数据库的孤立用户
步骤2:
exec sp_change_users_login 'AUTO_FIX','用户名'
可以自动将用户名所对应的同名登录添加到syslogins中
步骤3:
exec sp_change_users_login 'UPDATE_ONE','用户名','登录名'
将用户名映射为指定的登录名
该登录已经在另一个用户名下拥有帐户。
先新建一个x登陆,然后再:exec sp_change_users_login 'Update_ONE','x','x'
那就只能把这个x用户删除了。然后再新建用户x,挂到y登陆下面
在sql server 2000中好像是这样的,就是两者名称要一样。不过,我在sql server 2008r2中,没有这个限制了