Sql server 日记 (孤立用户)
2010年07月27日
----------------------------- Sql server 日记 (孤立用户)
今天上午一个用户找到我说,我有个数据库C请你从A服务器帮我拷贝到B服务器,用户K和密码和原来的一样,我把用户名和密码告诉你。
刻不容缓,开始操作
1 备份数据库
2 把备份文件从A服务器拷贝到B服务器,然后回复数据库。
3 在B服务器上建立账户,使用客户指定的与A服务器一致的用户名和密码。
4 最后把C库的DB_own的权限赋予给这个指定的账号。
问题便从第4步出现了,包已经存在了用户K,授权失败了。
这明显就是备份数据库中已经存在k用户,而我在数据库B中新建了K用户,而这两个用户之间关系没有明确,所以在赋予权限的时候,
用户没有明确关系的情况下,操作终止了,孤立用户的问题,也就是说登录账户和数据库中的权限账户并不一致。
解决问题的方法很简单
1首先确认我们的C库中是否有孤立用户
使用
--------------------------------------------------
USE C
GO
sp_change_user_login @action= 'report'
这句话的意思就是查出C库中的独立用户列表
在列出孤立用户后,拿就要建立它们之间的关系
USE C
GO
sp_change_users_login 'update_one', 'K', 'K'
go
这里需要明确两个参数 两个"k"
第一个是备份数据库中的孤立用户
第二个是你在B库建立的登录用户名K
在执行完孤立用户之间的连接后,问题解决。