SQL Server数据库在完成备份还原后,经常会发现登录用户失败,这是就需要做登录名和用户名的同步操作。
SP_CHANGE_USERS_LOGIN存储过程可以通过重新映射登录名和数据库名来解决这个问题。
处理过程说明如下:
1)在运行SP_CHANGE_USERS_LOGIN之前,需要保证SQLServer的登录名已被添加到SQLServer实例中。
2)在SQLServer Management Studio中运行:
use database_name
go
EXEC sp_change_users_login 'Update_One', 'login_name', 'user_name'
Go
命令执行完后,会有如下的报告:
'The command(s) completed successfully.'
3)验证问题是否解决
使用同步后的用户登陆数据库,验证是否可以成功登录。
也可以运行以下的查询来查找主数据库中的syslogins表和数据库中的sysusers中的记录是否对应。
use master
go
select * from syslogins where name='xxx'
go
use database_name
go
select * from sysusers where name='xxx'
go