SQL数据库用户只有“名称”而无“登陆名”解决来源:
exec sp_change_users_login 'UPDATE_ONE', 没有登陆名的数据库用户,'新的登陆名'
go
原因: SQL备份的问题有一台SQL SERVER 服务器,将其中的数据库DataBase1备份成一个文件,在另外一台SQL SERVER服务器上还原,数据表和存储过程等恢复没有问题,但某些用户自定义的用户(这些自定义用户在原数据库中是某些表和存储过程的所有者)变成孤立用户,既无法利用也不能删除,导致不能利用这些用户帐号访问数据库。
解决方法:
1 数据库还原后在“企业管理器”中,在还原的数据库“用户”选项中察看数据库用户是否只有“名称”而无“登陆名”; hp_unix
2)使用Sa登陆“查询分析器”,运行:
use "还原的数据库名称"
EXEC sp_addlogin '新的登陆名(和原数据库一致)'
go
exec sp_change_users_login 'UPDATE_ONE','没有登陆名的数据库用户','新的登陆名'
go
3)在“企业管理器”的“安全性”的“登陆”中修改“用户”密码
例
运行: use "Hdtbdb"
EXEC sp_addlogin 'hdtb' ,'密码' //添加数据库登入用户
go
exec sp_change_users_login 'UPDATE_ONE','hdtb','hdtb' 更改为同一个用户
go