问题描述: 数据库备份还原后,数据库只有用户名没有登录名,成为孤立帐户,登录权限问题。
1 .将备份的数据库在其它机器上还原;
2 .重装系统或SQL SERVER之后只还原了用户库;
孤立帐户,就是某个数据库的帐户只有用户名而没有登录名,这样的用户在用户库的sysusers系统表中存在,而在master数据库的syslogins中却没有对应的记录。
解决办法: 使用 sp_change_users_login
脚本修复,此脚本有如下三种用法,我是使用第三种。
--用法 1 :列出当前数据库的孤立用户
exec sp_change_users_login 'REPORT'
--用法 2 : 自动将用户名所对应的同名登录添加到syslogins中
exec sp_change_users_login 'AUTO_FIX','用户名'
用法 3 :将用户名映射为指定的登录名
exec sp_change_users_login 'UPDATE_ONE','用户名','登录名'